105
105
107
107
109
111
113
116
119
122
124
127
130
134
136
139
142
144
146
149
150
151
152
153
153
152
151
149
147
145
142
139
136
133
129
127
124
121
118
116
113
111
109
107
106
105
105
105
106
107
109
110
112
114
117
120
123
126
129
132
135
138
140
143
146
147
149
150
151
152
152
151
150
149
147
145
143
141
138
136
132
130
127
124
121
118
115
113
111
109
108
107
106
106
106
107
108
110
111
113
115
117
120
124
127
129
132
135
137
140
143
145
147
148
150
150
151
151
150
150
149
147
145
143
140
138
134
132
128
126
123
120
118
115
112
110
109
107
106
106
105
106
107
108
109
111
113
116
118
121
125
127
130
133
136
139
142
144
147
149
150
151
152
152
151
151
150
148
146
145
142
139
136
133
130
127
124
121
118
116
113
111
109
107
106
106
106
106
106
107
108
110
112
115
117
121
123
126
129
131
134
137
140
142
145
147
149
150
151
151
151
151
150
150
148
146
143
141
138
135
132
129
127
124
121
118
115
113
111
109
108
106
106
106
106
106
107
109
111
112
114
118
120
123
126
129
133
135
138
141
143
145
147
149
150
151
152
152
151
150
149
148
145
143
140
137
135
132
129
126
123
119
117
114
112
109
108
106
105
105
105
105
106
108
108
111
113
115
118
122
124
127
130
133
137
139
142
145
147
148
150
151
152
152
151
151
150
149
146
145
142
139
136
134
129
126
126
123
121
117
113
111
108
106
106
106
103
104
107
109
108
109
113
115
115
117
123
126
127
130
134
137
139
143
146
147
149
151
151
151
151
152
152
149
144
144
142
139
139
136
133
132
128
124
123
118
114
113
110
108
107
106
106
106
105
108
110
110
111
113
115
117
120
122
126
128
132
135
137
141
144
146
148
149
150
151
151
151
150
150
148
147
145
143
141
138
135
132
129
126
124
120
117
115
112
110
108
107
106
106
106
106
107
109
110
111
113
115
119
121
125
127
129
132
134
138
141
143
145
147
149
151
151
152
151
151
150
148
146
144
142
139
136
133
131
127
125
122
120
118
115
112
110
109
107
107
106
106
106
107
108
110
111
114
116
118
122
124
125
136
139
133
139
148
146
143
148
153
150
146
148
155
154
148
148
147
145
142
139
134
131
129
127
123
120
117
115
112
111
110
109
107
102
105
106
105
106
108
111
112
115
119
123
125
126
129
133
135
138
141
144
147
149
151
151
152
152
153
153
151
149
146
144
142
140
137
134
131
128
126
123
120
117
115
112
111
108
107
106
105
105
106
107
107
109
111
113
116
118
121
124
127
130
133
136
139
141
144
146
148
149
151
151
152
152
151
150
149
146
144
142
140
138
135
131
128
125
122
119
117
114
111
109
107
106
106
106
106
106
107
109
110
112
114
117
120
123
126
128
131
134
137
140
143
145
147
149
150
151
152
151
151
151
149
148
146
144
141
139
136
132
130
127
123
120
118
115
113
110
109
107
106
105
105
105
106
107
108
111
113
115
118
120
123
127
129
132
135
138
141
143
146
148
149
151
152
152
151
152
150
149
147
146
143
140
138
135
132
129
126
123
121
117
115
112
111
108
107
106
105
106
106
107
107
108
110
112
115
118
121
124
127
129
133
135
139
141
144
146
147
150
151
152
152
152
151
150
149
148
145
143
140
137
134
130
127
125
122
119
116
114
111
109
107
106
105
105
105
106
107
108
109
111
113
117
120
123
126
128
131
134
137
140
143
145
147
148
150
150
151
151
151
151
149
148
145
143
140
138
135
131
129
127
124
121
118
116
114
111
109
108
107
107
107
106
106
106
109
116
113
111
120
123
122
124
129
133
133
132
139
146
145
145
148
149
150
152
150
148
148
148
146
146
143
140
138
136
132
129
127
123
121
117
115
112
110
109
108
103
103
106
105
105
105
109
111
113
115
119
123
124
127
130
133
136
140
143
145
147
149
150
151
152
152
153
151
150
148
146
144
142
139
135
133
130
127
124
122
118
116
113
111
109
107
106
105
105
105
106
107
109
110
112
114
117
119
123
125
127
131
134
137
139
142
145
147
148
150
151
152
152
152
151
149
148
145
143
141
138
135
132
129
127
124
121
118
115
113
111
109
108
107
106
106
106
107
108
109
111
113
115
118
121
123
127
129
132
135
138
140
143
145
147
148
149
150
152
151
151
150
149
147
145
143
141
138
135
132
128
126
123
121
118
115
112
111
108
107
106
105
106
105
106
107
109
110
113
115
119
122
125
127
130
134
136
140
142
145
147
149
150
151
151
151
151
150
149
147
147
144
142
139
136
133
130
127
124
122
118
116
113
111
108
107
106
106
107
106
107
108
109
111
113
115
118
120
123
126
128
131
133
136
139
142
144
146
148
149
150
151
151
151
151
149
147
145
144
141
138
135
133
130
127
125
122
120
117
114
112
110
108
107
106
106
106
106
107
107
109
112
114
117
120
122
125
128
131
135
138
141
143
145
147
149
150
151
152
152
152
150
150
148
146
144
140
138
135
131
129
126
123
120
117
115
111
110
108
107
106
105
105
105
106
108
110
112
112
115
122
125
127
128
129
134
137
138
142
144
144
147
151
152
151
151
152
152
148
146
147
144
140
137
136
132
129
127
125
122
118
116
114
111
109
109
109
106
103
105
105
107
111
111
113
117
118
120
124
125
127
131
133
137
139
143
145
147
147
151
152
152
152
151
150
148
147
145
143
140
138
135
132
129
127
124
122
119
116
113
111
109
107
106
106
105
106
107
108
109
111
112
115
117
120
123
127
129
132
135
138
141
143
145
147
149
150
152
152
152
151
150
148
147
146
144
141
138
134
131
128
126
123
120
117
114
112
110
108
107
106
105
105
105
106
107
109
111
113
116
119
122
125
127
130
133
136
139
142
144
146
148
149
150
151
152
151
151
150
148
146
145
143
140
136
132
130
127
125
122
119
116
114
111
109
108
105
103
108
112
106
103
111
114
109
111
119
122
119
120
129
134
134
135
140
143
144
147
148
148
149
151
151
151
150
149
147
147
144
143
142
133
132
130
127
124
120
120
116
112
110
110
109
106
105
106
105
106
106
107
110
113
116
118
121
124
127
130
133
135
138
141
144
146
148
149
151
152
152
152
151
151
149
148
145
143
140
137
134
131
128
125
123
120
117
114
112
110
108
107
106
106
105
105
105
107
109
111
114
116
118
121
124
127
130
133
136
139
142
144
146
148
150
151
151
152
152
151
150
149
146
145
142
139
137
134
131
127
125
122
119
116
114
111
110
108
107
106
106
106
106
108
109
110
112
115
117
119
122
125
128
131
135
137
140
141
144
146
148
150
150
151
151
151
150
149
147
145
143
141
138
135
133
130
127
124
121
118
116
113
111
109
108
107
106
106
105
106
107
109
110
112
115
117
120
123
126
129
133
135
139
141
144
145
148
149
152
152
152
151
151
150
149
147
145
143
140
138
134
131
128
126
123
119
117
114
111
110
108
106
105
105
105
106
106
108
109
111
113
117
119
122
124
127
130
133
136
139
142
144
147
148
150
151
152
152
151
150
149
149
147
144
142
139
136
133
130
127
125
122
119
117
114
111
109
108
107
106
105
105
105
107
108
109
111
114
116
119
122
126
128
131
135
138
140
143
145
147
149
150
151
151
152
151
150
149
148
146
144
141
138
135
133
129
127
124
121
117
115
112
111
109
107
106
106
106
106
107
108
109
111
113
115
117
120
123
126
127
131
132
135
142
148
142
145
154
152
149
150
152
154
149
144
149
148
143
140
139
136
133
130
126
123
120
117
114
113
109
109
108
106
104
104
105
105
107
107
109
112
115
117
122
122
126
131
133
135
139
144
145
147
148
152
153
152
152
152
152
151
149
147
144
142
140
137
133
130
127
125
122
119
116
113
111
110
108
107
106
105
105
105
107
109
111
113
115
117
120
122
125
128
130
134
136
139
142
144
146
148
149
150
151
151
151
150
149
147
146
144
141
139
136
133
130
127
124
122
118
116
113
111
109
108
107
106
106
107
108
108
109
110
112
115
117
119
122
126
129
132
134
137
140
143
145
147
149
150
151
152
152
151
150
149
148
146
144
141
138
135
132
129
126
124
121
118
114
111
110
109
108
106
105
105
105
106
107
109
111
112
116
118
121
124
127
130
133
136
138
142
144
146
149
150
151
151
151
151
151
150
149
147
144
142
140
136
134
130
127
125
122
119
116
115
111
110
108
107
106
106
106
106
107
108
110
111
114
117
120
123
126
128
131
135
137
140
143
145
147
149
150
151
151
151
151
150
149
148
146
143
141
138
136
133
129
127
124
121
118
116
113
111
109
108
106
106
105
106
107
107
109
111
113
115
118
120
123
126
129
132
135
138
140
143
145
148
149
150
151
152
152
152
150
147
149
148
145
142
136
134
132
127
125
123
117
116
115
114
110
107
107
108
104
103
106
107
106
107
111
113
115
118
122
125
127
130
134
136
138
142
145
146
146
148
149
150
152
152
152
151
149
147
146
142
139
136
134
130
127
126
123
119
117
115
113
111
109
107
105
104
105
106
106
107
109
111
114
116
120
122
125
127
131
134
136
140
142
144
146
148
149
151
151
152
152
151
149
148
146
144
142
138
136
132
130
127
124
121
118
116
113
111
109
108
106
105
105
105
107
108
109
110
112
115
117
120
123
126
129
132
134
138
140
143
145
147
149
150
150
151
151
150
150
148
147
145
143
141
138
134
132
128
126
123
120
117
114
112
110
108
107
106
106
105
106
106
108
109
111
112
115
118
122
125
127
130
132
136
138
141
144
146
148
149
151
151
152
152
152
150
149
146
145
142
138
134
133
137
129
121
123
123
114
109
111
111
105
101
106
110
106
104
107
110
111
113
114
115
119
122
126
127
130
133
136
140
142
147
150
147
148
151
151
150
150
151
149
147
145
145
143
137
135
133
130
127
125
121
118
116
114
111
109
108
107
106
106
105
106
107
109
110
112
115
118
121
124
127
130
133
135
138
140
143
145
147
148
149
150
151
151
151
150
149
146
144
142
139
137
134
131
127
125
122
120
117
115
112
110
109
108
107
106
106
106
108
108
109
111
114
116
119
121
124
127
129
133
135
138
141
144
146
148
149
150
152
152
152
151
151
149
147
144
142
140
138
135
131
127
124
122
120
116
113
111
109
108
107
105
105
105
106
106
108
109
111
114
116
119
122
125
127
131
134
138
140
143
145
147
149
150
150
151
151
151
150
149
148
145
144
141
138
136
133
130
127
124
121
118
116
114
112
109
108
106
106
106
107
107
108
109
111
113
115
118
120
123
126
128
131
134
137
140
142
145
147
148
150
151
152
151
151
149
149
147
145
143
141
138
135
132
129
126
123
121
118
115
113
111
109
107
106
105
105
106
107
107
109
110
113
115
118
121
124
127
129
133
136
139
142
144
146
148
150
151
152
152
152
150
150
148
147
144
142
140
137
134
131
128
125
122
119
117
114
112
110
108
107
106
106
106
107
107
108
109
111
113
116
119
122
125
127
130
133
136
139
142
144
146
149
150
151
151
152
151
151
149
148
146
144
141
138
135
132
129
127
124
121
118
115
113
111
109
107
107
106
105
106
106
107
109
111
113
116
118
121
124
127
129
132
135
138
141
144
146
147
148
149
151
151
150
150
148
146
152
147
137
141
143
134
129
128
128
124
116
115
118
114
109
109
108
106
107
106
104
106
107
109
111
113
115
118
121
123
127
130
132
135
139
142
144
147
149
150
150
148
152
153
150
149
148
147
145
142
140
138
134
129
127
125
122
119
116
113
111
110
109
107
106
106
105
107
107
108
110
111
114
117
120
123
126
128
131
134
137
139
142
144
146
148
149
150
150
151
150
151
149
147
145
143
141
139
136
132
130
126
124
121
119
115
113
111
109
108
106
106
106
106
106
108
109
110
112
114
117
120
123
125
129
131
135
138
141
143
145
148
149
151
152
153
152
152
151
150
148
146
144
141
139
135
132
128
125
122
120
117
114
111
109
107
106
105
105
105
105
106
107
108
110
113
115
118
121
124
127
130
133
135
139
141
144
146
148
150
151
152
152
152
150
150
148
147
144
143
140
137
134
131
129
126
123
120
118
115
112
109
107
106
105
105
105
106
107
107
108
111
114
116
119
121
124
127
130
133
136
139
141
144
147
149
150
152
152
153
153
152
151
149
147
145
142
139
136
132
129
126
123
121
118
116
112
110
110
109
107
103
104
108
108
108
107
108
112
114
116
121
123
125
129
134
137
138
141
145
146
146
149
151
150
149
150
151
148
147
147
146
143
141
138
135
132
129
127
124
121
116
114
111
111
109
108
107
107
107
107
108
108
109
111
114
115
118
122
125
127
128
133
136
139
141
143
144
146
148
149
150
151
151
150
150
149
147
145
143
141
137
135
132
128
125
122
119
116
114
112
110
109
107
106
106
105
106
106
108
109
111
113
116
118
122
125
127
130
134
137
140
143
145
147
148
150
151
152
152
151
150
149
148
146
144
142
139
136
133
130
127
125
121
119
116
114
111
110
108
106
105
105
106
105
107
109
111
112
115
118
120
123
126
128
131
135
137
140
142
145
147
149
150
151
152
152
152
149
148
147
146
144
141
138
135
132
128
127
123
121
118
115
113
111
109
107
107
106
106
105
107
107
109
111
113
115
118
121
124
127
129
132
135
138
141
143
145
146
145
153
158
150
149
156
154
145
145
147
144
136
133
136
134
127
124
124
121
118
114
111
107
107
107
105
104
104
105
105
108
110
112
115
113
118
122
125
127
131
134
136
138
143
146
147
148
149
151
152
152
151
150
150
149
147
145
142
140
137
134
131
127
125
122
119
116
113
111
108
108
107
106
106
105
105
107
107
110
112
114
117
119
123
126
129
132
135
138
141
143
145
147
149
150
151
152
151
152
150
149
147
145
143
140
138
134
131
128
126
123
120
117
115
112
111
109
108
107
106
106
106
107
108
110
111
114
116
119
121
124
127
129
133
135
138
141
144
145
147
149
150
151
151
151
150
150
148
147
144
143
139
137
134
131
128
125
123
120
117
114
111
110
108
107
107
106
105
106
106
108
109
111
114
116
119
121
124
127
131
134
137
139
142
144
146
148
150
150
152
152
151
151
149
149
146
144
141
139
136
133
130
127
124
121
119
116
114
111
109
107
107
106
106
106
106
107
109
111
113
115
118
121
123
126
129
132
135
138
141
142
144
146
149
151
152
151
150
150
150
149
147
145
142
140
137
135
132
128
126
123
121
117
116
113
111
109
107
106
105
106
106
107
107
109
111
113
115
118
121
124
127
129
132
135
139
141
144
145
148
149
151
152
152
152
150
150
149
147
146
143
140
137
134
131
128
126
123
119
116
114
112
109
107
106
105
105
105
105
106
108
109
111
113
116
119
122
125
127
131
133
137
139
142
144
146
149
150
151
152
153
153
152
151
150
148
145
142
139
136
132
129
127
125
121
117
114
111
110
108
108
107
106
106
106
106
107
108
111
112
115
117
120
124
126
129
132
136
138
141
144
146
148
149
150
151
151
151
150
149
148
146
144
142
140
137
134
132
129
127
124
120
115
118
117
108
108
112
109
105
105
106
109
105
105
112
116
115
118
122
124
127
130
131
133
138
140
143
145
147
148
150
151
151
152
151
150
149
147
145
144
140
137
136
129
127
127
123
118
116
115
112
109
108
109
107
105
104
105
105
108
109
111
113
116
119
122
125
127
131
134
138
140
143
145
147
150
151
152
152
153
152
151
150
148
146
144
141
138
135
132
129
126
124
121
118
115
112
110
108
107
106
105
104
105
106
108
109
111
113
115
118
120
123
126
130
133
135
138
140
143
145
147
148
150
150
151
151
151
150
149
147
145
144
140
138
135
133
129
127
123
121
117
115
113
111
109
107
107
106
106
106
107
108
109
111
113
116
118
121
124
127
129
133
135
138
140
143
145
147
150
150
151
151
151
150
150
148
147
145
142
140
137
134
131
128
125
123
120
117
114
111
110
108
107
106
105
106
106
107
109
110
112
114
116
120
122
125
128
131
134
137
140
143
145
147
149
150
152
152
152
151
150
149
148
144
141
143
140
137
133
128
127
124
119
117
115
111
110
110
109
106
105
107
106
105
106
109
110
111
113
118
120
122
126
129
132
135
138
141
143
146
149
149
150
149
150
150
152
151
149
149
147
144
141
138
134
132
129
127
123
120
117
115
113
111
109
107
107
106
106
106
106
107
109
111
112
115
118
121
124
127
129
133
136
138
141
143
145
147
149
150
151
151
152
151
150
148
147
145
143
140
137
135
131
129
126
122
120
117
115
112
109
108
107
106
105
104
105
106
108
109
111
113
116
119
122
125
127
131
134
137
139
142
144
146
148
150
151
152
152
151
150
149
148
147
145
142
138
135
133
130
127
124
121
118
116
113
111
109
108
107
106
105
105
105
107
109
111
112
114
117
120
123
125
128
131
134
137
140
143
145
147
149
150
151
151
151
151
150
149
147
145
144
141
138
135
132
129
127
124
121
118
115
113
111
109
107
106
105
106
106
107
108
109
111
112
113
115
119
130
130
126
134
140
136
137
144
148
145
144
149
155
153
150
151
152
149
147
145
141
139
137
134
130
127
125
122
120
117
116
114
108
106
107
105
104
103
105
106
106
108
112
115
116
118
122
125
128
131
133
136
139
143
146
148
150
150
152
152
152
152
151
150
149
147
145
143
140
137
133
131
127
125
121
118
115
112
110
107
107
106
105
105
105
106
107
108
110
112
113
117
120
123
126
129
132
135
138
141
144
146
148
150
151
151
152
151
151
150
149
147
144
142
139
137
134
131
128
126
123
121
118
115
113
111
110
108
107
106
107
106
107
108
110
112
114
116
119
122
124
127
129
132
135
138
141
143
145
147
149
149
150
151
151
151
150
148
147
145
143
140
137
135
132
129
126
123
120
117
114
112
110
108
106
105
104
105
105
106
107
109
111
113
116
119
121
125
127
130
133
136
140
142
145
147
149
151
152
153
153
152
152
151
149
147
144
142
139
135
133
130
127
124
121
118
115
113
111
109
108
105
105
105
105
105
107
108
110
112
114
117
120
123
126
129
132
134
137
140
143
145
147
148
150
150
151
151
151
150
149
147
145
144
141
138
135
132
129
127
124
121
118
116
114
111
110
108
107
105
105
106
107
108
109
111
112
115
118
121
123
127
129
132
135
138
141
143
145
147
149
150
151
151
151
150
149
148
147
145
143
140
137
134
131
128
126
123
120
117
114
112
110
108
107
106
106
106
106
107
109
110
111
113
115
119
122
125
127
130
133
136
138
142
144
146
148
149
151
151
152
152
151
150
148
147
144
142
139
136
133
130
127
125
122
118
116
113
111
109
107
106
105
105
105
106
107
109
110
112
115
117
120
123
127
130
132
133
136
140
143
145
147
148
149
150
151
151
151
149
149
147
146
143
140
138
135
132
129
127
124
121
118
116
114
111
109
108
107
106
107
107
106
106
107
108
119
116
112
122
127
126
127
132
137
139
136
142
150
149
148
151
152
152
153
151
149
147
146
144
142
139
136
134
131
127
125
123
119
116
114
111
110
107
108
107
105
103
106
107
107
109
112
115
117
119
123
127
128
130
133
137
140
143
144
146
149
150
152
152
152
152
152
150
148
146
143
140
138
136
133
130
127
124
121
119
116
113
111
109
107
106
106
105
106
106
108
108
110
112
114
117
120
123
126
128
132
135
137
141
143
145
147
149
150
151
151
152
151
150
149
148
146
143
141
138
136
132
130
127
123
121
118
116
113
111
108
107
106
106
105
106
107
108
110
111
114
116
119
121
124
127
129
133
135
138
141
144
145
148
149
151
151
152
152
151
150
149
147
144
143
140
137
134
132
129
126
122
120
117
115
112
110
108
106
105
104
105
105
106
107
108
110
113
115
116
122
127
129
133
133
137
141
142
143
148
148
149
151
153
153
151
152
152
148
145
145
143
139
135
133
130
127
124
122
118
115
113
111
109
107
108
107
106
105
105
107
108
111
112
115
118
122
124
127
128
130
134
137
140
143
146
148
150
150
152
152
152
151
150
149
146
145
142
140
137
134
132
128
127
124
121
118
115
113
111
108
107
106
106
106
106
107
108
110
111
114
116
119
122
125
127
130
132
135
139
142
144
145
147
148
150
151
151
151
150
150
148
147
145
142
140
138
135
132
129
126
123
120
117
115
113
110
108
107
106
106
105
106
106
108
109
111
113
116
118
121
124
127
131
134
137
139
143
145
147
149
149
151
152
153
152
152
150
148
146
144
142
139
136
133
130
127
124
121
118
115
114
111
109
108
106
105
105
105
106
107
108
110
112
115
117
120
123
126
129
132
135
138
141
143
146
148
150
150
151
152
152
152
150
149
147
145
143
141
138
135
132
129
126
123
121
117
115
111
110
107
103
112
111
103
105
111
110
105
110
116
116
112
117
127
129
128
131
136
139
141
144
144
145
148
150
151
151
151
151
150
149
149
148
144
138
137
134
130
127
125
123
119
116
115
114
109
107
106
106
106
106
106
106
108
110
112
114
117
119
123
126
128
130
133
136
139
141
144
146
149
150
150
151
151
152
151
149
148
146
144
142
139
136
133
130
127
124
121
119
116
113
110
108
106
106
105
106
107
106
107
107
109
111
114
116
119
122
125
127
131
134
138
141
143
145
147
149
150
151
152
152
152
151
150
147
146
144
141
138
136
132
130
127
124
121
118
115
113
111
109
107
106
106
106
106
106
107
108
109
113
115
118
120
123
126
128
132
134
138
141
143
145
147
149
150
151
152
151
151
150
148
147
144
143
140
137
134
131
129
126
123
120
118
115
113
110
109
107
106
105
106
106
107
108
110
112
114
117
119
122
125
127
130
133
137
140
143
144
146
148
149
151
152
152
152
150
149
148
146
144
141
138
136
133
130
127
124
121
118
115
113
111
110
108
107
106
106
106
106
107
109
111
112
115
117
121
123
126
128
131
134
137
140
143
145
146
148
149
151
152
152
151
149
148
147
146
143
141
139
135
132
129
127
124
121
118
115
113
111
109
108
106
106
105
106
107
107
109
110
113
115
118
120
124
127
129
132
135
138
141
144
146
148
149
151
152
152
152
152
150
148
147
145
144
141
138
134
132
128
126
123
120
117
114
112
110
108
107
106
105
105
105
106
107
109
111
113
116
118
122
124
127
131
134
137
140
142
144
147
148
150
151
152
152
152
152
151
149
148
145
143
140
137
133
129
127
124
121
118
116
113
110
108
107
106
105
105
105
106
107
108
110
111
114
117
119
122
126
128
132
135
138
141
144
146
148
150
151
152
152
152
151
150
149
147
145
142
141
138
135
132
129
126
124
121
118
116
113
110
108
107
106
106
106
106
106
108
109
111
113
116
119
121
124
127
130
132
136
137
138
146
149
143
148
155
151
149
150
152
152
145
144
147
146
139
138
136
132
129
127
122
118
116
113
111
110
107
106
107
105
106
106
107
107
109
111
114
117
119
122
125
125
129
134
135
137
141
146
147
148
150
153
153
151
152
151
150
149
147
144
141
140
136
133
130
127
125
122
119
117
114
111
110
107
107
105
105
105
107
108
109
109
111
115
118
120
122
125
127
131
134
137
139
141
144
146
148
149
150
151
151
151
150
149
147
145
143
141
138
135
132
129
126
124
122
118
115
112
111
109
108
106
106
105
106
107
107
109
110
113
115
119
121
124
127
129
133
136
138
141
143
145
147
149
150
152
152
151
150
150
148
147
145
142
139
137
134
129
127
127
124
121
117
113
112
109
107
107
106
104
106
107
108
107
110
113
114
114
118
123
124
126
130
134
135
139
142
145
147
148
150
151
152
152
153
150
149
147
146
144
142
140
136
134
130
127
125
122
118
115
113
111
108
107
107
106
105
105
107
107
108
110
111
114
117
119
122
125
127
131
134
137
140
143
145
147
149
150
152
152
152
151
150
149
148
146
144
141
138
135
131
129
127
124
121
117
114
112
110
108
107
106
105
105
105
106
107
108
110
113
115
118
121
124
126
129
132
136
138
141
144
146
148
150
151
151
152
152
152
150
149
147
145
142
140
137
134
131
128
126
123
120
117
114
111
110
108
107
107
106
105
105
106
108
110
111
113
116
118
121
124
127
130
133
136
139
142
144
146
148
149
150
152
152
152
151
150
148
147
145
143
139
137
134
130
127
125
122
118
116
113
111
108
108
107
106
105
105
105
106
108
110
113
115
117
120
123
126
128
132
134
138
140
143
145
148
149
150
151
152
151
150
150
148
148
144
143
139
135
141
137
126
126
128
122
114
115
116
111
104
105
110
108
105
105
108
108
109
111
112
114
117
120
122
126
129
133
135
138
142
145
145
144
148
150
150
149
151
152
149
148
148
147
144
141
138
136
132
129
126
123
121
118
116
113
111
108
108
107
105
105
105
106
107
109
111
113
116
119
121
124
127
129
133
136
139
141
143
145
148
150
151
152
152
152
151
151
149
147
145
143
140
136
133
130
127
124
121
118
116
113
111
109
108
107
105
105
106
106
107
108
110
112
114
117
120
123
126
128
132
135
139
141
144
146
148
149
151
152
152
151
150
150
148
147
145
143
140
137
134
131
129
126
123
120
117
115
112
111
108
108
107
107
106
107
107
108
109
111
113
116
119
121
124
127
129
132
135
137
141
143
145
147
149
151
151
150
150
151
150
149
148
146
143
140
137
134
131
129
127
123
120
117
115
112
110
109
107
106
105
105
106
107
107
109
111
113
115
119
122
125
127
129
133
137
140
143
145
147
149
151
152
152
152
152
151
150
148
146
144
141
139
135
133
129
127
125
122
118
116
112
111
110
108
107
106
105
105
106
107
109
110
112
115
118
121
123
126
129
132
134
137
140
143
144
146
148
149
151
151
152
151
150
149
148
146
143
141
139
136
132
130
127
124
121
118
115
113
111
109
108
107
106
105
105
105
107
109
111
112
114
117
120
124
126
129
132
135
138
141
144
146
148
150
151
152
152
152
151
150
149
147
145
143
140
137
134
131
128
126
123
120
117
115
112
110
108
107
106
105
106
106
107
108
110
112
114
116
118
122
125
127
131
134
136
139
141
144
146
148
149
150
151
151
151
150
150
148
146
144
142
139
136
133
129
127
124
122
118
116
113
111
109
108
107
106
106
106
107
107
109
110
112
114
117
120
123
126
128
132
134
137
140
142
145
147
150
150
151
151
151
151
150
149
148
145
144
141
138
135
132
129
127
124
121
118
115
112
111
108
107
107
106
105
105
106
107
109
110
113
115
118
121
124
126
129
133
136
138
141
144
146
148
149
151
151
151
151
151
151
148
144
148
147
136
136
139
133
127
124
123
122
114
110
113
112
108
107
107
105
106
106
105
105
108
111
113
116
118
121
124
127
129
134
136
139
142
144
146
149
149
150
153
149
150
152
150
147
147
145
142
139
136
135
132
127
124
121
118
116
114
111
109
107
107
106
106
105
106
107
109
110
112
115
117
120
122
126
128
132
134
138
141
143
145
147
149
150
151
151
152
151
150
149
148
145
143
141
138
135
132
129
127
124
120
117
114
113
111
109
107
106
105
105
106
107
108
109
111
113
115
118
120
123
127
129
132
133
138
143
144
147
147
149
151
151
151
153
152
150
150
149
146
142
141
139
133
130
127
126
121
118
117
114
111
109
109
107
105
104
105
104
106
108
110
110
112
113
116
120
124
127
130
134
137
141
143
146
147
149
151
152
152
151
151
150
150
148
146
144
142
140
137
134
130
127
125
122
119
116
113
111
109
107
106
105
106
105
106
107
109
110
112
114
116
120
124
127
129
130
132
136
139
142
144
146
148
149
151
151
151
150
150
149
147
145
143
141
138
136
132
129
127
124
121
119
116
113
111
109
108
107
106
105
106
106
108
108
111
112
115
118
120
124
127
130
132
134
137
141
144
147
148
149
150
151
152
152
152
150
149
147
145
143
140
137
134
131
128
125
122
120
116
114
111
109
107
106
106
105
106
106
107
108
110
111
113
116
120
122
125
127
131
134
137
140
142
145
147
148
149
150
151
151
151
151
150
148
146
143
141
139
136
133
130
127
124
122
119
116
114
111
110
109
107
106
106
106
107
107
109
110
112
114
117
120
123
125
127
131
134
137
139
141
144
145
144
155
156
148
150
156
153
145
146
148
144
135
134
139
137
129
126
125
122
118
116
112
109
108
107
106
105
104
105
106
108
109
112
114
112
117
120
122
125
127
132
135
137
142
145
147
147
149
151
152
152
151
151
151
150
149
146
144
141
139
136
132
129
126
122
120
117
115
112
110
109
106
105
105
105
105
106
107
109
111
113
115
118
121
124
127
130
133
136
139
142
144
146
148
150
151
152
152
152
151
150
148
146
144
141
139
136
133
130
127
124
121
119
116
114
111
110
108
106
105
105
105
107
108
109
110
112
115
117
121
123
126
128
132
134
138
140
143
145
147
148
150
151
151
151
150
150
148
147
145
143
140
137
135
132
129
126
124
120
118
116
113
111
109
108
107
107
106
107
107
108
109
110
111
115
117
121
124
126
128
131
134
137
140
143
145
147
148
150
151
152
152
152
151
150
148
146
144
141
138
134
132
129
127
123
120
117
114
112
110
108
107
106
105
105
105
106
108
109
111
113
116
119
122
125
127
130
133
135
139
142
145
146
148
149
150
151
151
151
150
150
148
146
144
142
139
136
134
130
127
124
122
118
116
113
111
110
108
107
107
106
106
107
107
109
110
112
114
117
120
123
126
127
132
134
138
140
143
145
147
149
150
150
152
152
152
151
149
147
145
143
140
138
135
132
129
127
123
121
119
116
113
110
108
108
107
106
105
106
106
108
109
111
112
115
118
121
124
127
129
132
136
138
141
143
146
148
149
150
151
151
150
151
150
148
147
145
143
140
137
135
132
128
125
122
120
117
115
112
110
108
107
106
105
105
106
107
109
110
112
114
116
119
122
124
127
130
133
136
138
141
143
146
147
149
150
152
151
152
151
150
148
147
144
142
139
136
134
130
127
124
122
119
118
115
113
110
108
107
106
106
105
106
106
108
109
111
113
116
119
122
125
127
131
134
137
139
143
145
147
149
150
151
152
152
152
151
150
149
147
145
143
139
137
133
130
127
124
121
118
115
113
111
108
106
105
105
105
105
106
106
108
109
112
114
118
120
124
127
129
133
136
139
142
144
146
148
149
151
151
152
152
151
151
149
147
145
143
140
137
134
131
128
126
122
120
116
111
114
115
105
105
112
108
105
105
109
111
107
107
115
120
118
121
125
127
130
133
135
137
141
143
146
148
149
150
152
152
151
151
150
148
146
144
141
140
136
134
132
126
124
123
119
115
114
113
110
107
107
108
107
105
106
107
108
110
112
115
117
121
124
126
128
131
134
138
141
144
145
146
148
150
151
151
152
151
150
149
147
145
144
141
138
136
132
129
127
124
121
118
116
111
111
112
109
108
105
104
106
105
106
109
110
111
115
119
121
123
126
130
132
133
138
142
143
144
147
148
149
151
153
153
152
151
149
147
145
144
142
138
134
131
127
126
123
120
117
115
112
110
109
107
106
105
105
105
106
108
110
112
113
116
119
122
125
127
130
133
136
139
142
144
147
148
150
150
152
151
151
151
149
148
146
144
142
140
136
133
129
127
124
122
119
116
114
111
109
108
107
106
106
106
106
108
108
111
112
115
117
120
123
126
128
131
134
137
140
143
145
147
149
150
152
151
152
152
151
150
148
146
144
142
139
136
133
129
126
124
121
118
116
113
110
108
107
106
106
105
106
106
107
108
110
112
114
117
120
123
126
129
132
135
138
141
143
145
148
149
150
152
152
152
152
150
149
148
146
143
140
138
135
132
129
127
123
121
118
115
112
108
107
107
107
106
105
106
106
107
109
111
113
116
118
122
124
127
129
133
136
139
142
144
146
149
150
150
151
152
152
150
149
148
147
145
141
138
135
134
130
127
125
122
119
116
114
111
110
108
108
107
107
107
107
107
108
110
112
114
114
122
128
125
125
134
138
134
136
143
147
143
143
150
155
152
150
152
152
150
148
146
142
140
138
135
132
129
127
124
122
118
117
116
108
107
108
105
104
104
106
106
107
109
112
115
115
118
121
124
126
128
131
135
139
141
144
145
147
149
151
152
152
151
150
149
148
147
145
143
140
137
134
131
128
125
122
119
117
114
113
111
109
107
107
106
106
107
107
109
109
111
113
115
118
121
124
127
130
132
136
139
142
144
145
147
149
150
152
152
151
150
149
148
146
145
143
140
137
134
132
129
126
123
120
117
114
111
110
108
106
106
105
105
105
107
108
110
111
114
117
119
122
125
127
131
134
137
140
143
145
147
149
150
151
152
152
151
150
149
147
146
144
142
138
135
132
128
127
123
121
117
115
112
110
108
107
106
105
106
106
107
108
110
111
113
115
118
121
124
127
129
132
135
138
141
143
146
147
149
150
152
152
152
151
151
149
148
146
144
140
137
134
130
128
126
124
121
118
115
112
110
108
107
106
106
105
105
106
107
109
111
113
116
119
122
125
127
130
133
136
139
142
144
146
148
149
150
151
152
151
151
149
148
146
144
142
140
137
133
130
127
125
122
120
117
114
111
109
108
107
107
106
106
106
107
108
110
112
114
117
119
123
125
128
131
134
137
140
142
144
147
148
150
151
152
152
152
151
150
148
146
144
141
139
135
133
129
127
123
120
117
115
112
111
109
108
107
106
106
106
106
107
108
111
113
116
117
120
123
127
129
132
135
138
141
143
145
148
149
150
152
152
152
151
150
149
147
145
143
141
138
135
132
129
127
123
121
117
115
113
111
108
107
106
106
105
106
106
108
110
111
114
116
119
121
124
127
130
134
137
139
141
144
145
148
149
150
151
151
151
151
150
148
146
144
142
139
136
133
131
127
124
121
119
118
114
111
109
108
108
107
106
106
106
107
108
110
112
114
117
119
123
126
128
131
134
138
140
142
144
146
148
150
152
152
152
151
150
149
148
147
144
141
138
135
133
130
127
124
120
118
115
112
110
108
107
105
105
105
105
106
107
109
111
113
115
118
121
124
126
129
132
135
139
141
143
146
148
149
151
152
152
151
151
149
148
148
145
143
140
136
134
131
128
126
122
120
117
114
112
110
109
107
107
106
106
106
107
107
107
116
116
111
119
126
124
125
129
134
136
135
138
145
147
146
149
150
151
152
151
149
148
148
146
144
143
139
136
134
130
128
126
123
119
116
113
111
109
109
108
105
103
105
106
106
106
110
112
114
116
120
124
126
127
130
133
137
140
142
144
147
149
149
151
155
154
153
152
148
148
146
142
141
139
135
132
130
127
124
121
120
116
111
111
110
107
105
105
105
104
105
107
109
110
111
114
116
118
122
126
128
131
134
136
140
143
145
148
149
151
152
152
152
151
150
148
147
144
143
141
139
135
132
130
127
124
121
118
115
113
110
108
107
106
106
105
104
105
107
109
111
113
116
118
121
124
127
129
132
135
138
141
144
146
148
150
150
152
152
152
151
150
149
147
144
142
139
136
133
130
127
125
121
119
116
114
111
109
108
107
105
106
105
106
107
108
111
112
115
117
120
122
126
129
132
135
138
140
142
145
147
149
150
150
151
151
151
150
149
147
146
143
141
138
135
132
128
127
123
121
118
116
113
111
109
108
107
106
106
105
106
107
109
110
113
115
118
120
124
127
128
132
135
138
140
143
144
147
149
150
151
151
151
150
150
149
147
145
143
141
138
135
132
129
126
124
120
117
114
112
110
108
107
106
105
106
106
107
108
109
112
114
116
119
122
124
127
130
133
136
139
142
144
146
149
150
151
152
152
151
151
149
149
147
145
142
139
136
133
130
127
125
121
119
116
114
110
106
108
114
108
102
109
111
105
105
112
114
112
111
120
126
126
127
131
135
137
140
142
143
145
148
150
150
151
151
152
152
150
149
150
142
140
139
135
132
128
128
125
121
117
117
114
111
108
107
106
105
105
104
105
107
109
111
113
115
118
121
125
127
129
132
134
138
142
144
146
148
149
151
152
152
152
151
150
149
147
145
143
140
137
135
131
129
126
124
119
117
114
112
110
109
108
106
106
106
106
106
107
109
111
113
115
118
121
124
127
130
133
136
139
142
144
146
148
149
150
151
152
151
151
150
149
147
145
143
140
137
134
131
128
126
123
120
117
115
112
110
108
107
107
106
105
106
107
109
111
112
114
116
119
123
125
127
131
133
136
139
142
144
147
149
150
151
152
152
152
151
149
148
146
144
142
139
136
133
129
127
124
121
118
115
113
111
109
107
106
105
105
106
107
108
109
111
113
115
117
121
124
127
130
133
135
138
140
143
146
148
149
150
152
152
152
151
151
149
148
145
143
140
137
134
131
128
125
123
120
117
114
112
110
108
108
106
106
105
106
106
108
109
111
113
115
119
121
124
127
131
134
136
139
141
144
147
149
149
151
151
151
151
151
150
148
147
144
142
139
136
133
131
127
125
122
120
117
114
112
110
108
107
106
106
106
106
107
109
110
112
114
117
119
123
126
128
131
134
137
139
143
144
147
148
150
150
151
150
150
150
149
149
146
144
141
139
136
133
130
127
125
121
119
116
113
110
109
107
106
105
105
106
106
107
108
110
112
115
117
120
124
126
129
132
135
138
141
143
146
148
150
152
153
153
153
153
151
150
148
146
143
140
137
134
131
128
125
122
119
116
114
112
110
108
106
106
105
105
105
106
107
109
111
113
116
119
122
125
127
131
134
137
140
142
145
147
149
149
150
151
151
151
150
149
148
147
144
142
140
137
134
131
128
125
122
119
116
114
112
111
109
107
106
106
105
107
107
109
109
112
114
116
119
122
125
127
131
133
137
139
142
144
146
148
149
151
151
152
151
151
150
149
146
144
142
139
136
133
130
127
125
121
119
116
113
111
109
108
107
106
105
105
106
108
109
110
111
114
117
119
123
125
128
131
134
138
140
143
145
148
149
151
152
152
152
151
150
149
148
146
144
141
139
135
132
129
127
123
120
118
115
112
110
108
107
106
105
105
105
107
108
110
111
113
115
118
121
125
127
131
132
133
136
142
150
144
144
153
153
150
150
152
153
149
144
147
148
142
139
137
134
131
128
124
121
118
116
113
111
109
107
107
106
106
104
106
109
108
111
111
114
117
119
122
124
127
131
133
136
139
142
146
148
149
150
151
152
151
150
150
150
147
145
144
142
139
137
133
130
127
125
122
118
116
112
110
108
108
107
106
106
107
107
107
109
110
112
114
117
119
123
126
129
131
135
138
141
144
146
148
149
150
150
150
151
151
150
149
147
145
143
140
138
135
132
128
126
123
120
117
114
112
110
109
107
107
106
106
106
107
108
109
111
114
116
118
122
125
127
130
133
136
139
141
144
146
148
150
150
151
151
152
151
150
148
147
144
141
140
136
135
131
127
124
121
118
116
114
111
110
108
107
106
106
105
106
107
108
110
111
114
117
119
122
125
127
130
133
136
139
142
144
146
148
149
150
151
151
152
150
150
148
147
144
143
139
136
133
131
127
124
121
118
116
113
112
110
107
106
105
105
105
106
107
108
110
112
114
117
120
123
126
128
132
135
138
141
144
145
148
149
151
151
152
151
151
150
149
148
145
143
140
138
135
132
128
126
123
120
117
115
112
111
109
106
106
105
105
106
107
108
109
111
113
116
118
121
125
127
130
133
136
138
141
144
147
148
150
150
151
151
151
150
149
149
146
144
141
135
141
139
128
127
130
125
115
116
118
113
105
105
111
110
105
105
108
108
109
110
110
111
114
119
122
124
127
129
133
137
141
144
146
143
147
150
150
150
151
153
151
149
148
148
144
140
138
136
133
130
127
124
121
119
117
114
111
110
108
107
106
105
105
106
107
108
110
112
115
118
121
124
127
130
132
135
138
141
144
146
148
148
149
150
150
150
150
150
148
147
145
143
140
137
135
131
128
126
123
119
117
114
112
110
108
107
107
106
106
107
108
109
110
112
114
117
119
122
124
127
130
132
136
139
142
144
146
149
149
150
151
152
152
151
150
148
146
144
142
140
137
134
131
128
126
122
120
117
115
112
110
108
107
105
105
106
106
107
107
109
111
114
115
119
121
124
127
130
133
136
139
142
144
147
149
150
151
152
152
152
152
150
148
146
144
143
139
136
132
130
127
123
120
117
115
113
111
108
107
106
106
106
106
106
108
109
111
113
115
118
120
124
127
129
132
135
138
141
143
145
148
150
150
150
150
151
151
150
148
147
145
144
141
139
135
132
129
126
123
121
118
116
113
111
109
107
107
106
106
106
107
108
109
111
113
116
118
121
124
127
129
132
135
138
141
144
146
148
150
151
151
152
152
152
150
149
148
145
143
141
138
135
132
129
126
122
119
116
114
111
109
107
106
105
105
105
106
106
107
109
110
113
116
119
122
125
127
130
134
137
140
143
145
147
149
150
151
152
152
152
151
150
148
146
144
142
139
136
133
130
127
124
121
118
116
113
111
109
107
106
106
106
106
107
108
109
110
112
114
118
121
124
126
128
132
135
138
140
143
145
147
149
150
152
151
152
152
151
149
147
145
143
140
137
134
131
129
126
123
120
117
115
113
110
109
107
107
106
106
106
107
108
109
111
114
116
118
122
124
127
129
132
136
139
142
144
146
147
149
150
151
152
151
151
149
148
147
145
143
140
137
134
131
127
125
122
120
117
114
112
110
108
107
106
105
106
105
107
107
110
111
114
116
119
122
125
128
131
134
137
140
143
145
147
149
149
151
152
152
152
150
149
147
146
144
141
139
136
133
130
127
124
122
118
116
113
111
109
107
106
105
105
105
106
107
109
110
112
115
118
120
123
126
129
132
135
138
141
144
145
148
149
150
152
152
152
152
151
148
147
145
143
141
138
135
131
128
125
123
120
117
115
112
110
108
107
106
106
105
106
106
108
109
111
114
116
119
121
124
127
130
133
136
139
142
144
146
148
149
150
151
152
152
151
147
146
150
152
141
137
140
137
129
125
126
125
118
113
117
116
108
106
109
106
104
106
106
105
106
109
111
114
115
119
123
126
128
131
134
136
139
142
143
146
147
149
151
149
151
154
151
149
148
148
145
141
138
137
134
128
127
124
122
119
117
114
111
110
109
108
108
107
107
107
108
109
110
112
115
117
120
122
125
127
131
134
138
140
143
144
147
148
149
150
150
150
150
149
148
147
145
143
140
138
135
133
129
127
124
121
118
115
113
110
108
107
106
105
105
106
106
107
107
110
112
115
118
121
123
127
129
132
136
139
142
144
146
149
150
152
152
153
153
152
151
149
147
146
143
140
138
134
131
127
125
122
119
116
113
111
109
108
106
106
105
105
106
107
108
110
111
114
117
119
122
125
127
130
134
137
140
143
144
146
149
150
151
151
151
151
151
149
148
146
144
142
139
136
133
130
127
125
123
119
117
114
111
110
109
107
106
106
105
106
107
109
110
112
115
117
120
123
126
129
131
134
138
140
143
145
146
148
150
152
152
152
150
150
148
148
146
144
141
138
135
132
129
126
123
120
118
115
112
110
108
107
106
106
105
106
107
108
109
112
114
116
119
121
124
127
130
133
136
139
141
144
145
144
153
157
150
150
156
154
146
146
148
145
139
135
138
136
129
127
126
123
120
117
113
110
109
108
106
106
105
106
106
109
110
112
114
111
115
120
122
124
127
132
134
136
140
144
145
146
147
150
150
151
151
151
151
150
149
147
144
143
140
137
134
129
127
124
122
119
116
113
111
109
108
107
106
106
106
106
107
109
110
112
115
117
120
122
126
128
131
134
137
140
143
145
147
149
150
152
151
152
151
150
149
147
145
143
141
138
135
132
129
127
124
121
119
116
113
111
108
108
106
106
106
106
106
107
109
111
113
115
119
121
124
127
129
132
136
139
142
144
146
148
149
150
152
152
152
151
150
149
147
145
143
140
137
134
131
128
126
122
120
117
114
112
110
108
107
106
106
106
106
106
107
109
111
114
116
119
122
125
127
131
134
137
139
142
144
147
149
150
151
152
152
151
151
149
148
146
144
142
139
136
133
130
127
124
122
119
116
114
111
110
108
107
106
106
106
106
107
108
111
112
115
117
120
123
125
128
131
135
138
140
142
144
147
149
150
151
151
151
152
150
149
147
146
144
141
137
135
132
129
126
123
120
117
115
112
111
108
107
106
106
106
106
107
107
109
111
113
116
119
122
125
127
130
133
136
140
142
144
145
148
149
151
151
152
151
150
149
148
147
144
142
139
137
134
131
128
126
123
120
117
114
112
110
109
107
106
105
105
106
106
108
109
111
114
116
119
122
125
127
130
134
136
139
142
144
146
148
150
151
152
152
152
150
150
149
147
145
143
140
136
133
130
127
125
122
118
115
113
111
109
107
106
106
105
106
106
107
109
110
112
114
116
120
122
126
127
131
135
138
141
143
145
147
149
151
152
152
152
151
150
149
147
146
143
140
137
134
131
128
126
123
121
117
114
112
110
108
107
106
105
105
105
107
108
109
111
114
116
119
122
125
127
130
133
136
138
141
144
145
148
149
150
151
151
151
150
149
148
146
144
142
140
137
134
131
127
125
123
120
117
114
111
109
108
108
107
106
105
105
106
107
109
111
113
116
118
122
124
127
130
133
137
139
142
144
147
148
150
151
151
152
152
152
150
149
147
146
143
140
136
133
130
127
124
121
118
115
113
111
109
107
106
105
105
105
105
107
108
110
113
114
117
120
123
126
129
132
135
138
141
143
146
147
150
151
152
151
152
151
150
148
147
144
142
140
138
135
131
127
126
124
121
118
115
113
111
109
108
107
106
106
107
107
108
110
111
114
115
116
122
125
127
129
132
135
138
139
142
145
147
149
151
152
151
151
152
151
147
146
146
143
138
137
134
131
127
126
124
120
117
115
112
110
108
108
107
106
105
105
103
105
114
116
110
116
125
123
123
127
133
135
133
135
143
146
146
149
152
151
152
152
150
149
149
148
146
144
140
139
136
133
130
128
126
121
119
116
114
111
110
108
104
103
106
106
105
105
108
111
112
114
117
122
123
126
129
132
134
138
141
143
146
149
151
151
152
152
152
151
150
149
148
145
143
140
138
134
131
128
126
123
120
117
115
113
110
108
107
106
105
105
106
107
108
110
111
112
115
119
121
124
127
129
133
135
139
140
144
145
147
149
150
151
151
152
151
150
149
148
145
143
140
137
134
131
129
127
123
120
117
115
112
109
108
107
106
106
106
106
106
108
110
111
114
116
120
122
125
127
131
133
137
139
142
144
147
149
150
152
152
152
152
151
150
148
146
144
141
139
136
133
130
127
125
122
118
115
113
111
110
108
107
106
105
105
106
107
109
111
112
115
118
121
124
127
129
132
135
138
141
143
145
147
148
150
151
151
151
152
150
149
147
145
144
141
138
135
132
128
126
123
120
117
115
112
111
109
107
107
106
105
105
106
108
110
111
112
114
115
126
127
124
129
137
136
134
141
147
146
143
148
155
154
150
152
153
151
149
147
143
140
140
136
133
129
127
124
122
120
118
117
112
107
107
108
105
105
105
107
106
107
111
113
115
115
118
121
125
128
131
134
137
141
144
146
148
150
151
152
152
152
151
151
149
148
146
144
142
139
137
133
131
127
125
122
119
115
112
110
108
107
106
106
105
106
106
107
109
111
113
115
118
120
123
126
128
131
134
136
139
141
144
146
148
150
150
151
150
151
150
149
147
145
144
141
138
135
133
129
127
124
122
119
116
113
111
109
108
107
106
106
105
107
107
109
111
112
115
117
120
123
126
128
132
135
138
141
144
146
148
150
151
152
151
151
150
151
149
147
145
142
140
137
134
131
127
125
123
119
116
113
111
109
108
106
105
105
105
105
106
108
109
111
114
117
120
122
126
127
132
134
137
140
143
144
146
148
150
151
151
152
151
151
149
149
146
144
141
138
135
133
130
127
125
121
118
115
113
111
109
107
106
106
105
105
106
107
108
109
112
114
117
120
123
125
128
131
135
137
141
143
145
148
149
151
152
152
152
152
151
149
148
146
144
141
138
135
132
129
127
124
120
117
114
113
110
109
107
106
105
105
105
106
108
109
111
113
115
118
121
124
127
130
132
135
138
141
143
145
147
149
150
151
151
152
151
150
149
147
145
142
140
137
134
131
127
126
123
120
117
115
112
111
109
107
106
105
105
105
107
108
110
111
113
115
119
122
125
127
130
134
136
139
141
143
145
148
150
151
151
151
151
151
150
148
146
144
142
139
136
133
130
127
125
122
119
117
114
111
110
108
107
106
106
106
107
107
109
111
112
114
116
120
123
127
128
130
133
137
140
143
144
146
148
149
151
151
152
151
151
150
148
146
144
141
138
135
132
129
126
124
120
118
115
113
111
109
108
106
106
105
106
106
107
109
111
113
115
118
121
124
127
130
132
135
137
140
143
146
148
149
150
151
152
151
151
149
148
147
145
142
140
137
134
131
127
126
122
120
116
114
111
110
108
107
106
105
105
106
107
108
109
111
113
116
119
122
125
127
130
134
137
139
143
145
147
148
150
151
151
151
151
151
150
148
146
143
141
139
135
133
130
127
124
121
118
115
113
111
110
108
107
106
106
106
106
107
109
110
112
115
117
120
123
126
129
132
135
138
141
143
145
147
149
150
151
151
151
151
150
149
147
146
143
140
138
136
131
130
127
124
121
117
114
113
110
108
108
106
106
106
108
107
107
110
112
113
115
119
122
123
126
130
133
135
138
141
143
145
147
148
149
150
151
151
150
149
147
146
144
143
141
138
135
132
128
126
122
118
116
114
112
110
109
108
107
106
107
107
108
109
110
112
113
116
118
121
124
127
130
133
136
139
143
144
147
148
150
150
150
157
152
147
151
152
146
143
142
142
137
129
129
130
126
121
120
116
114
112
109
106
105
104
103
105
106
106
108
110
111
114
117
120
123
126
128
131
134
139
142
141
144
148
149
150
150
152
153
152
150
150
149
146
143
141
138
135
132
128
126
124
121
118
116
113
111
109
108
107
106
106
106
108
109
110
111
112
115
118
121
124
127
129
131
134
137
140
142
145
147
148
149
151
151
152
151
150
148
147
144
142
140
137
134
130
129
126
123
121
118
115
113
111
108
108
106
106
106
106
106
108
110
111
114
116
120
122
126
128
131
134
136
140
143
146
147
149
149
151
151
152
152
151
149
148
146
144
142
139
136
133
130
127
124
121
118
115
112
111
109
107
106
106
105
105
106
107
109
110
112
115
118
120
124
126
129
133
135
138
141
144
146
148
149
150
150
151
151
151
151
149
147
145
143
141
138
135
132
129
127
123
120
118
116
111
106
110
114
108
103
109
110
103
105
111
113
109
110
119
125
124
125
130
133
136
139
141
141
144
148
149
150
151
152
151
152
150
150
150
143
140
140
136
134
130
129
125
121
119
118
116
111
109
108
107
105
105
105
105
107
109
111
112
115
118
120
123
125
127
131
134
137
140
142
145
147
148
150
151
151
152
151
150
149
147
146
144
141
138
135
133
130
127
124
121
118
116
113
111
109
107
106
106
106
106
107
107
109
110
113
115
117
120
123
126
128
131
134
137
140
143
145
147
149
150
152
152
152
152
151
149
148
146
144
142
139
135
133
130
127
124
121
119
115
113
111
109
108
106
106
105
106
107
107
108
110
112
115
118
120
123
126
129
131
135
138
140
143
145
148
149
151
151
152
152
152
150
149
147
145
143
140
137
134
132
128
126
123
120
117
114
112
110
108
106
106
106
105
106
107
108
109
111
113
116
119
122
125
127
130
133
137
140
143
145
147
149
150
151
152
152
152
151
149
148
146
144
141
138
135
133
129
127
124
121
118
116
113
111
109
107
107
105
106
105
106
107
109
110
112
115
117
120
123
126
127
130
133
137
140
143
145
147
148
150
151
151
152
151
150
149
147
146
144
142
139
137
133
131
127
125
122
119
116
113
111
109
108
105
105
104
104
105
106
108
110
112
115
117
120
123
126
129
132
135
139
142
144
147
148
149
151
152
153
153
152
151
149
147
145
144
140
138
134
131
128
125
122
119
116
113
111
109
108
106
106
105
105
106
107
108
110
112
114
116
119
122
124
127
130
134
137
139
143
145
147
149
151
151
152
152
152
151
149
147
145
143
141
139
136
133
129
127
124
121
119
116
114
111
110
108
107
106
106
105
106
107
109
111
113
116
117
120
123
126
128
131
134
138
140
142
145
147
149
149
150
151
151
151
150
150
148
146
144
142
139
137
133
130
127
124
121
118
116
113
111
107
107
105
104
105
105
106
107
108
110
112
115
118
121
124
127
129
132
135
138
141
144
146
148
150
151
152
152
152
152
151
149
147
145
143
140
137
134
131
128
125
122
120
117
114
112
110
108
107
106
106
106
107
107
108
109
111
114
116
118
121
125
127
131
132
135
138
142
144
146
147
149
150
150
151
151
150
149
149
146
144
142
140
137
134
131
128
126
122
120
117
115
112
110
108
106
106
105
107
107
106
107
109
111
114
117
119
122
125
127
130
133
135
141
144
146
147
148
150
152
151
152
152
150
150
148
147
144
141
139
136
132
129
127
124
120
117
116
112
110
109
108
107
105
106
105
106
107
109
111
112
115
117
121
124
127
129
133
136
140
142
144
146
147
148
150
150
150
151
150
149
148
147
145
143
140
137
134
131
128
126
122
119
117
115
112
110
108
107
106
107
106
106
107
108
109
111
113
116
119
121
125
127
131
133
137
139
142
144
146
147
149
151
152
152
151
150
149
148
146
144
142
139
136
133
130
127
125
121
118
117
112
109
113
111
103
107
110
106
104
107
110
112
109
111
119
122
122
125
129
131
135
137
139
141
144
146
148
149
149
151
152
152
150
149
147
145
144
141
139
136
133
129
127
122
120
119
115
111
110
110
108
106
106
108
107
107
107
109
111
113
116
118
121
124
127
130
133
136
139
142
144
146
148
149
150
152
151
151
151
150
149
147
145
142
140
137
134
130
127
125
123
120
117
114
111
109
108
107
106
105
105
105
106
107
109
111
113
116
119
122
125
127
131
133
137
139
141
145
146
149
150
152
152
152
152
152
150
149
147
144
143
139
137
133
130
127
125
122
119
117
114
111
109
108
107
107
106
106
106
107
108
110
112
114
117
119
123
125
128
131
135
138
141
143
145
147
149
150
151
152
151
151
150
149
147
144
142
139
134
140
137
126
126
127
123
113
114
116
111
104
104
110
109
105
105
108
108
109
111
112
115
118
122
124
127
129
133
135
139
142
145
147
144
147
150
150
149
150
151
149
147
147
147
144
140
137
135
131
128
125
122
120
117
116
113
111
109
109
108
108
107
107
107
108
110
111
114
116
119
121
123
127
129
133
136
139
141
143
145
147
149
150
151
151
151
150
150
148
146
144
142
139
137
134
131
127
125
122
119
117
114
111
109
107
107
105
105
105
106
107
108
110
112
114
117
120
123
127
129
132
135
139
141
144
145
147
149
151
152
152
152
151
150
148
146
145
144
140
137
133
132
129
127
123
120
118
115
113
111
108
107
106
105
106
106
107
108
109
111
113
116
119
121
124
127
129
133
135
138
140
142
146
148
150
150
151
152
152
152
150
148
147
146
144
141
137
134
131
128
126
123
120
117
114
112
111
108
107
106
106
106
106
107
108
110
112
114
116
119
122
125
127
130
134
136
139
142
145
146
148
149
151
150
151
151
150
149
148
146
144
142
139
136
132
129
127
125
122
119
116
112
110
108
107
106
106
105
105
106
107
108
110
112
114
117
119
123
126
129
132
135
137
140
143
144
147
148
151
152
152
152
151
151
149
148
146
144
141
139
136
133
129
127
124
121
118
115
112
109
108
107
107
106
105
105
105
106
108
110
112
115
117
120
123
126
129
132
135
138
142
143
146
147
149
151
152
152
152
152
151
149
147
145
143
141
137
135
132
129
126
123
120
118
114
112
110
108
107
106
106
105
106
106
107
109
111
115
116
118
121
124
127
130
133
136
139
142
145
146
148
150
151
152
152
152
151
150
148
147
144
142
139
136
133
130
127
125
122
118
116
113
111
109
108
106
106
105
105
107
107
109
111
113
115
117
120
122
125
127
131
134
138
139
142
144
147
148
150
151
151
151
151
150
149
148
146
144
141
139
135
133
130
127
124
121
119
116
113
111
109
108
106
105
105
106
106
107
108
110
112
115
117
120
123
127
129
133
136
139
141
143
145
147
149
152
152
152
151
151
149
149
147
145
142
140
137
134
131
128
126
122
120
117
114
112
110
108
107
106
106
106
106
107
108
110
111
114
117
119
122
124
127
130
133
136
139
142
144
146
148
150
151
152
152
151
150
149
148
147
145
142
139
135
132
130
127
124
121
118
115
112
113
111
109
107
105
106
105
105
107
108
109
112
115
118
119
122
127
128
130
134
138
140
141
145
147
148
149
151
152
151
151
150
149
147
146
144
141
137
135
131
130
127
126
122
119
116
113
111
109
108
106
105
104
104
105
107
108
110
112
115
118
120
124
127
129
132
135
138
141
143
145
147
149
150
152
153
153
152
152
150
149
146
144
140
138
134
131
127
126
122
120
117
113
111
108
108
107
106
104
104
105
107
107
108
111
113
116
119
122
124
127
131
134
137
140
143
144
147
148
150
150
151
152
151
150
149
148
146
144
141
139
136
133
130
127
125
122
120
117
113
111
110
109
108
107
106
106
106
107
108
111
112
114
116
118
121
125
127
128
135
141
136
140
149
148
147
148
152
154
150
147
152
152
147
146
145
143
140
137
132
129
127
124
121
118
115
112
111
109
107
106
105
105
105
106
107
108
110
113
116
115
118
124
126
127
132
136
139
141
143
147
150
149
150
151
152
152
152
150
149
147
146
144
141
138
134
132
129
127
123
120
117
115
112
110
108
107
106
105
105
106
107
108
109
111
114
116
118
122
125
127
131
134
137
139
141
143
145
148
150
150
151
150
150
150
149
148
146
144
141
139
136
134
130
127
125
122
120
116
114
111
110
108
108
106
106
106
107
108
109
111
112
115
117
120
122
126
127
131
133
136
139
141
144
145
144
155
157
149
150
155
153
145
147
149
145
136
134
138
135
129
126
126
122
118
116
111
109
108
108
105
104
105
105
105
108
109
111
115
111
116
121
122
125
128
133
135
137
141
146
147
147
149
151
152
152
152
151
151
151
149
147
144
140
138
134
132
128
127
123
119
116
113
111
109
108
107
106
106
105
106
107
107
109
111
114
117
118
122
124
127
129
133
136
139
142
144
146
148
150
151
151
151
151
150
149
148
146
144
141
140
137
134
131
128
126
122
120
116
114
111
111
109
108
106
106
105
106
107
108
110
111
114
116
119
122
125
127
131
134
137
140
143
145
147
149
150
151
152
152
152
151
150
148
146
144
142
138
136
132
129
126
124
120
117
115
112
110
109
108
107
106
105
105
106
107
109
110
112
114
117
120
123
126
129
132
135
138
141
143
145
148
149
150
151
152
151
151
150
149
147
145
144
141
138
135
132
129
127
123
120
118
115
112
110
109
107
107
106
106
106
107
108
110
112
114
116
117
121
124
127
130
132
135
137
140
143
146
147
149
150
151
151
151
151
150
149
147
145
142
140
136
134
130
127
125
122
119
116
114
111
110
108
107
105
105
106
106
107
108
109
112
114
116
120
122
126
129
132
135
138
140
143
145
148
151
152
152
150
150
150
150
148
146
144
142
140
137
135
132
129
126
124
120
117
114
112
110
108
107
106
105
105
106
107
108
110
111
114
116
119
122
125
127
129
132
135
139
141
143
145
147
149
150
151
150
150
150
149
148
147
144
142
139
136
134
131
129
127
123
120
118
115
113
111
110
108
107
107
106
107
107
108
109
111
113
116
118
121
124
127
129
132
135
138
141
144
146
148
149
150
151
152
152
152
150
150
148
146
142
139
136
134
132
128
126
121
118
115
113
111
109
107
106
105
104
104
105
106
108
110
112
114
117
120
123
126
128
131
134
137
141
143
146
148
150
151
152
152
152
152
150
149
148
146
144
141
138
135
133
129
127
123
121
116
114
112
111
109
107
106
105
105
105
106
108
109
111
113
115
118
121
124
127
129
132
135
138
141
143
145
147
149
150
151
151
152
151
150
149
147
145
143
140
137
135
132
129
126
123
120
117
115
112
111
109
108
106
106
105
105
107
108
110
111
113
114
118
121
124
127
130
133
136
138
141
144
146
148
149
153
153
153
152
150
150
149
146
144
143
139
137
134
132
127
125
122
119
115
112
112
109
106
105
106
105
104
106
107
109
111
113
114
116
119
124
127
128
131
133
136
140
143
145
148
149
150
151
152
151
151
150
149
147
145
144
141
138
135
132
130
127
125
121
118
115
113
111
109
108
107
106
106
106
107
108
109
111
113
115
118
121
124
127
130
132
135
137
140
142
146
148
149
149
150
150
151
150
150
148
147
145
142
141
137
135
132
129
126
124
121
117
115
113
110
108
107
106
106
105
106
107
108
110
111
113
115
118
121
125
127
130
133
136
139
142
145
147
150
151
152
151
151
151
151
150
150
147
144
141
139
136
133
130
127
125
121
119
116
113
111
109
108
107
106
105
106
106
107
108
110
112
115
117
120
123
126
129
131
135
137
140
142
145
147
148
150
151
152
151
152
150
150
149
147
143
140
136
134
139
130
124
126
124
117
113
114
113
109
103
105
109
106
104
107
108
108
111
112
114
117
120
122
126
127
131
134
138
140
143
145
147
150
152
152
150
151
153
152
149
145
145
145
140
137
135
133
130
126
124
122
117
114
113
111
108
107
105
104
105
106
107
108
109
111
114
116
119
122
125
127
129
133
136
139
141
143
144
147
149
150
151
151
151
151
150
148
146
144
142
139
137
133
130
127
125
122
119
117
114
112
110
109
107
106
105
105
106
108
109
110
110
111
113
117
127
127
124
132
139
136
136
144
148
145
143
150
155
153
149
151
152
150
149
146
143
140
139
136
133
129
127
124
121
118
117
116
108
106
106
106
104
103
106
107
108
108
112
114
114
116
120
125
127
129
131
134
137
141
144
146
148
150
151
152
152
152
151
150
149
147
145
143
140
137
134
131
128
126
123
120
117
114
112
110
108
107
107
106
107
107
107
108
110
111
114
116
119
122
125
127
130
133
134
137
140
143
146
148
149
149
150
150
151
151
150
148
146
144
142
140
137
134
132
129
126
123
120
118
115
112
111
109
107
106
106
105
106
106
108
109
111
114
116
119
122
125
127
131
134
137
140
143
145
147
149
150
151
150
151
151
151
150
148
145
143
140
138
135
132
129
126
124
120
118
115
113
111
109
108
107
106
105
106
106
107
109
111
113
115
118
120
124
126
129
132
135
138
141
143
145
147
149
150
151
152
151
151
150
150
147
145
142
139
138
135
132
128
126
122
119
117
115
113
110
109
107
106
105
106
106
107
108
110
112
113
116
119
122
124
127
130
133
136
139
142
144
146
148
150
151
152
152
152
151
150
149
147
145
142
140
137
134
131
128
124
121
118
116
114
112
110
107
105
104
105
105
106
107
108
110
111
114
117
120
123
126
128
131
135
137
140
142
144
146
149
150
152
152
152
152
151
150
148
146
144
141
139
136
133
130
127
124
121
118
116
113
111
109
108
106
105
105
106
107
107
109
109
111
114
117
120
123
126
129
131
135
138
141
143
146
148
149
150
151
151
151
150
150
148
147
145
143
140
138
135
132
129
126
124
120
118
115
113
111
109
108
106
106
106
107
108
110
110
111
113
115
119
122
125
127
129
131
134
138
141
144
146
148
149
150
151
152
151
152
150
149
147
145
142
139
137
133
131
127
125
122
120
117
115
111
109
108
107
107
105
105
106
107
108
110
112
114
117
120
124
127
129
131
134
136
140
143
146
147
148
149
149
150
151
151
150
149
147
146
144
141
137
135
134
130
127
123
121
118
115
113
111
109
107
107
106
105
106
106
108
110
111
113
115
118
121
123
127
129
133
135
138
141
144
146
149
150
150
151
152
153
153
152
150
147
144
142
140
138
135
131
129
126
123
119
117
114
112
110
108
107
106
105
104
108
106
109
109
110
113
116
117
121
124
126
130
134
137
138
142
145
147
148
151
153
152
152
152
152
151
149
147
145
141
139
137
133
131
127
124
121
118
116
113
111
109
108
106
106
105
105
105
107
108
110
112
114
117
120
123
127
129
132
135
138
141
143
145
147
148
150
150
151
151
150
150
149
148
146
144
141
139
136
133
130
127
123
121
118
116
114
112
109
107
106
105
106
106
107
107
109
110
112
115
117
120
123
126
128
132
135
137
140
142
144
146
149
150
151
151
152
152
152
150
148
146
144
141
138
136
132
130
127
124
120
118
115
113
111
108
107
105
105
105
106
107
108
108
109
111
114
118
121
124
127
129
133
136
139
142
145
147
149
150
151
151
152
151
151
150
148
146
144
142
139
136
133
131
127
125
122
119
116
113
111
109
108
106
106
106
107
107
108
109
110
111
113
117
120
123
126
127
129
133
135
139
142
144
146
148
149
150
151
152
151
151
149
148
147
144
141
139
136
134
130
127
125
122
119
116
114
111
110
107
107
106
106
106
105
105
109
115
110
112
122
123
121
125
129
133
132
133
141
147
145
146
150
149
150
152
151
149
149
148
146
145
142
140
138
135
131
129
126
123
120
117
115
112
110
110
109
105
103
105
107
104
107
111
112
114
114
119
124
124
126
130
133
135
139
142
144
147
149
149
149
151
152
153
152
150
148
146
143
142
139
137
133
131
127
125
122
119
116
114
110
106
111
112
105
102
109
109
103
105
112
113
109
112
121
126
124
127
132
135
137
141
142
143
146
149
150
150
151
151
151
153
150
149
149
140
138
140
136
132
129
127
123
120
118
117
115
110
108
108
107
106
105
106
106
108
110
111
113
116
118
121
124
127
129
131
133
137
141
143
146
147
149
150
151
152
151
151
150
149
147
145
143
140
138
135
132
128
125
121
119
116
115
112
109
107
105
104
105
106
107
106
106
108
111
113
115
118
122
125
127
130
133
136
139
142
144
147
148
151
151
152
152
152
152
150
149
147
145
142
140
136
134
130
127
125
122
120
117
114
112
110
108
106
105
105
106
107
106
107
109
111
114
116
120
122
125
127
130
133
137
139
142
145
147
149
150
151
151
152
151
150
150
148
146
144
141
138
136
132
130
127
124
121
118
116
113
111
109
108
107
107
106
106
108
109
110
111
112
115
119
122
125
127
129
131
134
138
140
143
144
146
147
149
150
150
151
151
150
148
147
145
143
140
137
134
131
128
126
123
120
117
115
113
111
110
108
107
107
106
107
107
109
110
111
113
116
119
122
124
127
128
131
134
139
142
145
146
147
149
149
150
151
151
150
149
148
146
145
143
140
138
135
132
129
126
123
120
117
115
112
110
108
107
105
105
105
106
107
107
110
111
114
116
119
122
125
127
131
134
137
140
143
146
147
148
149
150
152
153
153
152
150
147
145
143
141
139
136
133
129
127
123
121
118
115
113
111
108
107
106
105
105
106
107
108
109
111
114
116
119
121
124
127
130
132
135
138
140
143
145
147
149
150
151
151
152
152
151
148
146
144
142
140
138
135
131
128
125
123
120
118
115
113
111
109
107
107
106
105
106
106
108
109
111
113
115
118
121
124
127
130
133
136
139
142
144
147
148
150
151
152
153
152
152
150
149
148
145
143
140
138
134
131
127
124
121
119
117
114
111
108
106
105
105
105
105
105
106
107
109
111
113
116
120
123
126
129
131
134
137
140
143
145
148
149
151
152
152
152
152
151
150
147
146
144
141
138
135
132
129
127
124
121
118
116
114
112
109
107
106
106
107
106
107
107
108
109
111
115
118
120
123
126
128
132
134
138
140
143
145
147
148
150
150
150
152
150
149
150
149
146
144
140
138
135
131
129
127
123
120
119
116
113
110
109
108
106
105
107
107
106
107
109
110
111
116
120
122
124
127
128
131
135
138
141
143
145
147
148
150
152
152
152
152
150
149
147
146
143
140
136
133
131
129
127
123
120
117
115
112
110
107
106
106
105
105
105
106
107
109
111
114
116
120
123
126
127
130
133
136
140
143
145
146
149
149
150
150
151
151
150
149
147
145
144
141
138
136
133
130
127
124
121
118
116
113
111
109
108
107
106
107
107
108
108
110
111
113
115
118
121
123
126
128
131
134
137
140
144
145
147
148
149
151
152
152
151
151
148
147
145
143
141
138
135
132
129
126
124
121
118
115
113
111
109
107
106
105
105
105
105
107
108
111
112
115
118
120
124
127
130
133
136
139
142
144
146
148
150
151
152
152
152
152
150
148
146
144
143
140
138
134
130
127
124
121
119
116
113
111
109
107
106
106
105
106
106
107
109
110
112
114
116
119
122
125
128
131
134
137
140
142
145
147
149
150
151
151
151
151
150
149
148
147
144
142
140
137
134
130
127
124
122
120
117
114
111
108
106
105
105
105
105
106
106
108
109
112
114
117
120
123
127
128
131
134
137
140
143
145
148
150
150
150
155
157
148
150
154
149
144
142
143
140
133
128
129
127
122
120
119
116
114
111
106
105
105
105
105
105
104
105
108
109
113
116
119
121
125
127
130
134
136
140
144
143
143
150
150
146
150
152
151
151
149
148
150
143
137
144
143
131
129
132
127
119
119
120
116
107
106
111
111
106
106
108
108
108
109
108
109
113
117
119
121
124
126
128
133
137
139
144
140
142
149
148
147
150
152
151
149
149
150
148
143
140
140
136
133
130
127
125
123
120
117
115
112
111
109
108
106
106
106
106
107
108
111
112
115
118
121
123
126
127
130
134
138
141
143
145
146
148
149
151
152
152
151
150
149
146
145
143
140
137
135
132
129
126
123
120
116
115
112
110
108
107
106
106
105
106
107
108
109
111
114
116
119
121
125
127
130
133
136
139
142
144
146
147
148
150
151
152
152
151
149
147
146
144
142
139
136
133
130
127
125
122
120
117
114
111
110
108
107
106
106
106
107
107
109
110
112
114
117
120
122
125
127
131
133
137
139
142
144
146
148
150
151
152
153
152
151
149
147
145
144
142
139
136
132
129
126
124
121
119
116
113
111
109
108
106
106
105
106
107
108
108
110
112
115
118
120
123
126
129
132
135
138
141
144
146
148
149
150
151
152
152
151
150
149
147
145
143
141
139
135
131
127
124
123
121
118
115
111
109
108
106
106
105
105
105
106
107
109
111
113
116
118
122
124
127
130
133
136
139
142
144
146
149
150
151
152
152
152
150
150
148
147
144
142
140
137
134
131
128
125
123
120
117
115
112
109
107
106
106
106
106
106
106
107
109
111
114
116
119
121
125
127
130
133
137
139
142
144
146
148
149
150
151
152
151
151
150
148
146
144
142
140
137
133
130
127
125
122
118
116
113
111
109
108
106
106
106
107
107
107
107
109
112
115
118
120
123
125
128
131
135
137
140
143
144
147
148
150
151
152
152
152
150
149
148
145
143
140
137
135
131
128
127
123
121
117
115
113
110
108
107
106
106
106
106
107
107
109
111
114
117
120
123
124
127
129
133
136
139
142
144
145
146
148
150
151
151
151
150
150
148
146
144
142
140
137
134
131
128
125
122
120
117
115
112
111
109
107
107
106
106
106
107
108
110
112
114
116
119
122
125
127
130
134
137
140
143
144
145
147
149
150
152
153
152
150
148
147
145
143
141
138
136
132
130
127
124
121
118
116
113
111
109
108
107
107
106
107
107
108
110
111
112
117
119
122
124
125
128
131
133
137
140
142
145
148
150
150
151
153
153
151
149
148
146
144
143
141
138
134
131
128
126
123
121
118
115
112
110
108
106
106
104
104
105
106
107
108
111
113
116
118
122
125
127
130
133
137
139
143
145
147
149
150
152
152
153
152
152
150
149
147
145
143
141
137
133
130
127
125
122
120
116
114
110
108
106
106
105
105
105
106
107
108
110
112
114
118
120
124
126
128
131
134
137
140
142
145
146
148
150
151
152
151
152
150
149
147
146
144
142
139
136
133
129
127
124
122
120
118
114
111
109
107
107
106
107
106
105
106
107
109
112
115
117
119
122
125
127
131
134
138
141
144
146
147
149
150
152
152
152
152
151
150
149
146
144
141
138
136
132
129
126
123
120
118
115
112
110
108
107
107
106
105
107
107
107
107
110
113
117
119
121
124
126
129
132
135
138
141
143
146
148
149
150
152
152
152
151
150
149
147
144
142
139
137
134
131
127
125
123
121
117
114
112
110
109
108
106
105
106
106
107
108
110
112
114
117
119
122
124
127
129
134
137
140
142
144
145
147
149
150
152
151
151
150
149
148
146
145
142
140
137
134
130
127
124
121
118
116
114
111
109
108
106
106
106
106
106
107
108
110
112
115
117
120
123
126
129
132
135
138
142
144
145
147
149
150
152
152
152
151
150
148
147
145
143
141
138
134
131
128
126
123
120
118
114
110
115
111
102
107
110
105
103
106
110
111
107
111
118
121
120
125
127
130
134
136
138
141
143
142
148
156
152
147
154
156
149
146
148
149
143
138
140
142
135
128
130
125
119
124
118
108
111
110
108
106
104
107
107
106
106
110
112
110
111
113
120
122
122
129
131
133
136
141
146
145
145
148
150
151
151
152
151
152
151
150
147
145
144
141
138
132
129
126
124
122
119
116
113
110
107
106
106
106
105
105
105
106
107
109
111
114
117
120
123
126
129
132
135
137
140
143
145
147
149
150
151
152
152
152
150
149
147
146
143
141
138
135
132
129
127
123
121
119
116
112
110
108
107
107
106
107
106
106
107
109
111
113
116
118
121
123
127
129
133
136
139
142
144
146
147
149
150
150
151
151
151
150
149
147
145
143
140
138
134
131
128
126
123
120
117
114
111
110
108
107
107
106
106
106
106
107
109
111
114
116
119
121
123
126
129
133
135
138
140
144
148
148
150
152
153
153
153
152
151
149
147
145
143
140
137
134
131
127
124
122
118
116
113
111
109
108
106
105
105
104
105
106
107
109
112
114
118
120
123
126
128
132
136
139
142
144
145
147
149
151
152
152
152
150
149
147
147
145
143
140
137
135
131
128
126
123
120
118
115
113
111
109
108
108
107
106
107
108
109
110
111
114
116
119
122
124
127
130
132
136
138
141
143
144
146
148
150
152
153
151
150
148
147
146
145
143
141
138
134
132
128
126
123
120
117
114
112
109
108
106
106
104
105
106
107
108
109
111
114
117
120
122
125
127
130
134
137
139
143
144
147
149
152
152
153
152
152
150
149
148
146
144
142
139
135
132
128
126
124
121
118
115
113
111
108
107
107
106
106
106
107
108
108
111
112
115
117
121
125
127
129
132
135
138
141
143
145
147
149
149
150
151
152
151
150
149
147
145
144
141
138
135
131
128
126
124
122
118
115
111
110
108
107
107
106
106
106
107
108
109
111
113
115
118
121
124
127
129
132
134
138
140
144
146
148
149
150
152
152
152
151
150
149
147
145
143
140
137
135
131
129
126
124
121
118
115
111
109
107
107
106
106
105
104
105
107
108
111
113
116
118
121
124
127
131
134
137
140
143
145
147
149
150
152
152
153
153
152
150
148
146
144
142
138
136
133
130
127
124
121
118
116
113
111
107
109
108
108
108
106
105
107
107
111
114
115
118
121
123
125
127
132
135
137
139
143
145
146
147
150
150
151
151
151
150
148
147
145
143
140
139
135
132
129
126
124
121
119
116
114
111
110
108
106
106
105
106
106
107
109
111
114
116
119
121
123
126
130
133
136
138
141
141
144
146
149
150
152
151
152
151
150
148
146
145
143
141
137
134
131
127
125
122
119
116
114
112
110
108
107
106
106
106
106
107
108
110
112
114
116
119
123
125
128
131
135
137
141
142
144
146
148
150
152
153
152
151
149
149
147
146
144
141
139
135
132
129
127
124
122
119
116
113
111
109
108
106
105
106
106
107
108
109
110
113
115
118
121
124
126
129
132
134
138
141
144
145
148
149
150
151
152
152
150
149
148
147
146
144
141
138
134
131
128
126
124
120
118
115
112
110
108
107
107
106
106
107
107
109
109
111
112
115
118
121
124
127
130
133
136
138
141
143
145
147
149
150
151
152
152
151
150
149
147
145
144
141
138
133
130
127
126
123
121
117
114
111
109
108
108
107
106
106
106
107
108
110
111
114
116
119
121
124
127
129
133
136
139
142
144
147
148
150
151
152
151
152
150
150
148
147
144
142
139
137
134
131
128
126
123
120
116
113
110
108
107
107
106
105
104
104
105
107
109
111
114
117
119
122
126
128
132
135
138
141
144
145
148
149
150
152
152
153
152
151
150
148
146
144
141
138
135
132
129
125
123
120
118
115
112
109
109
108
108
107
106
106
106
107
109
112
113
113
119
127
123
121
130
135
138
135
138
148
146
142
147
154
154
150
148
151
152
150
147
145
142
139
138
134
130
127
126
123
120
119
117
111
107
107
109
106
101
107
107
106
107
110
116
116
116
116
120
127
125
127
136
138
142
142
144
150
150
149
152
153
150
151
151
148
147
148
145
143
140
136
133
130
127
124
121
119
116
113
111
108
108
107
106
106
105
107
107
109
110
111
114
117
120
123
126
128
132
135
138
140
142
143
146
148
150
152
151
151
149
149
148
146
145
143
140
137
135
131
128
126
124
121
118
116
114
111
109
108
107
107
107
107
108
109
110
112
114
116
119
121
125
127
130
133
135
138
141
144
145
148
149
150
151
152
150
149
148
148
147
145
143
140
136
132
130
127
125
122
119
117
113
111
108
107
107
106
106
106
106
107
108
109
111
113
116
119
122
125
127
131
134
137
140
143
144
147
149
150
151
152
152
152
152
150
149
147
146
143
139
136
132
129
127
125
122
118
115
112
110
108
107
106
105
105
105
105
107
107
110
112
115
118
120
123
126
129
132
135
138
141
143
146
148
149
150
151
152
151
151
150
149
147
146
144
141
138
136
133
130
127
124
122
118
116
112
110
109
108
108
106
106
105
105
107
109
111
113
115
117
120
123
126
129
132
135
138
141
144
146
148
150
150
152
152
152
151
150
149
147
145
143
140
137
134
131
128
126
123
120
117
114
112
110
109
107
107
106
106
105
105
107
110
112
115
116
119
121
124
127
131
133
137
139
141
144
146
148
149
151
151
152
151
151
150
148
146
144
142
139
136
133
130
127
125
122
119
116
113
111
109
107
106
106
105
105
106
107
109
110
113
116
118
120
122
125
129
132
136
138
140
142
144
146
149
151
151
152
152
151
151
150
148
146
144
142
139
135
132
128
126
122
120
117
115
113
111
109
107
106
106
106
106
107
107
109
110
112
115
117
121
124
127
130
134
138
141
142
144
145
148
150
152
153
152
151
149
148
147
146
144
142
140
137
134
131
128
125
122
119
117
114
111
109
107
106
105
105
106
106
107
109
111
112
115
118
120
122
126
129
131
133
135
139
142
144
146
148
150
152
152
152
150
149
149
148
146
144
143
138
136
132
129
127
124
122
119
117
113
112
110
108
106
106
108
107
106
106
108
109
111
114
116
119
122
126
128
131
134
137
140
143
145
148
149
151
152
152
153
152
152
150
149
147
146
142
139
134
131
128
126
124
120
118
114
111
109
108
107
106
105
104
105
105
106
108
111
113
116
119
122
124
127
129
133
136
139
142
144
146
148
150
151
152
152
152
151
150
149
147
145
142
140
137
134
131
128
126
123
121
117
114
111
109
108
108
107
106
105
105
105
107
109
111
113
115
119
121
124
127
130
134
137
140
142
144
146
148
149
150
152
152
152
151
150
148
147
145
143
140
138
134
130
127
125
122
119
117
113
111
110
108
107
107
106
104
104
105
108
110
112
114
117
119
121
125
127
131
134
137
140
143
145
147
149
151
152
152
152
152
151
149
148
146
143
141
139
135
132
129
127
124
121
118
115
113
111
109
108
106
106
106
106
106
108
109
111
114
116
118
120
123
126
130
133
136
138
140
142
144
147
148
150
151
151
151
150
149
148
147
145
143
140
137
134
131
127
125
122
120
117
115
112
110
109
108
107
106
106
107
107
108
110
111
114
117
119
123
125
128
131
134
137
139
141
142
145
148
150
152
152
151
150
150
149
148
146
145
142
139
136
133
130
127
125
122
119
116
114
111
109
107
107
105
106
105
106
107
108
110
112
115
117
120
123
126
128
132
135
138
141
143
145
147
149
151
152
152
151
150
149
149
148
147
144
141
137
134
131
129
127
124
121
116
115
111
107
112
113
105
105
111
109
103
106
111
111
108
111
120
123
123
125
130
133
136
139
139
141
145
148
149
149
151
151
151
152
152
150
151
144
138
141
143
131
127
132
130
122
118
118
117
111
103
107
110
105
103
104
105
107
110
110
111
114
117
120
122
124
126
130
133
136
139
142
144
147
149
150
151
152
154
153
152
146
145
151
143
137
141
137
134
129
127
128
124
117
115
114
109
109
110
107
107
107
106
106
107
108
110
113
115
117
119
122
125
127
131
134
137
140
143
144
147
148
149
150
151
151
151
150
149
147
146
144
141
137
135
133
129
127
124
121
119
116
114
112
110
109
108
107
106
105
105
106
109
111
113
115
117
120
122
126
129
133
135
138
140
142
146
148
150
150
151
151
152
152
150
149
147
146
144
142
138
135
132
128
126
123
120
117
115
112
110
108
107
106
106
106
106
107
108
111
112
114
116
118
121
124
127
131
134
137
139
141
144
146
148
150
151
151
151
151
150
149
148
146
144
142
139
136
133
130
127
124
121
118
116
114
112
110
109
108
107
107
107
107
108
110
111
113
115
118
120
123
126
128
132
135
138
140
141
143
146
148
150
151
150
150
149
149
148
147
145
144
140
138
136
133
130
127
125
122
119
116
113
111
109
108
107
106
106
106
106
107
108
111
112
115
118
121
124
126
129
132
136
138
141
144
147
148
150
152
153
152
151
150
149
149
148
146
143
139
136
133
131
128
126
123
119
116
114
111
110
108
107
107
106
106
106
107
108
109
111
114
117
120
123
126
127
131
134
137
139
142
144
147
148
150
150
151
151
152
151
149
149
147
146
143
138
135
132
130
127
125
122
118
115
113
110
109
107
106
105
105
105
105
107
108
111
112
115
117
120
123
126
128
131
135
138
141
143
146
147
149
150
151
152
152
152
151
150
148
146
144
141
138
135
132
129
127
124
121
118
114
111
110
109
108
106
105
105
104
105
107
109
111
112
115
117
121
123
127
129
133
135
139
141
144
146
147
149
150
151
151
152
151
150
149
147
145
143
141
137
135
131
128
126
123
120
117
115
112
111
109
108
107
106
105
105
106
108
110
112
114
116
118
120
124
127
130
133
136
137
142
145
146
149
149
150
152
151
151
150
150
147
147
145
143
139
137
134
130
127
125
123
119
116
113
111
109
108
107
106
106
106
107
107
108
111
113
114
116
117
121
125
129
132
135
138
139
142
144
147
149
150
151
151
150
151
150
149
148
146
144
141
139
135
132
129
126
124
120
118
115
113
111
109
108
107
106
106
106
106
108
109
111
113
116
118
121
124
127
130
133
137
138
140
142
145
147
150
150
151
151
150
149
148
147
146
145
143
140
136
134
131
129
127
123
121
117
115
112
110
108
106
107
105
106
106
107
108
110
112
114
117
119
122
125
127
130
133
136
139
142
145
148
150
152
152
152
152
151
150
149
148
147
145
141
138
134
132
129
127
124
121
117
115
112
111
109
107
107
106
106
105
106
106
108
109
112
114
118
120
123
127
129
132
135
139
141
144
146
148
149
150
151
152
151
150
150
149
148
146
144
141
137
134
132
129
127
124
120
117
114
111
109
108
107
107
105
106
106
106
108
110
112
114
116
118
120
123
126
128
131
134
137
141
143
146
148
149
150
151
152
152
152
150
149
147
145
143
141
137
135
132
128
127
124
121
118
114
111
111
109
108
106
105
104
104
105
106
109
111
113
115
118
120
124
127
130
133
136
140
142
144
146
148
150
151
152
152
152
151
150
148
147
144
142
139
136
133
130
127
124
122
119
116
113
111
109
108
108
106
105
104
105
107
109
111
113
115
117
119
122
126
128
132
134
137
140
142
144
146
148
150
151
151
152
151
150
149
147
144
140
141
144
137
128
133
131
123
118
121
119
110
106
110
112
107
105
106
107
107
108
109
110
112
115
116
118
122
126
130
133
135
139
143
141
141
146
152
149
146
154
152
149
149
150
151
146
141
141
140
133
131
128
124
123
121
118
115
112
111
110
108
106
105
106
104
104
111
113
108
114
122
120
121
125
130
134
132
135
141
143
142
146
149
150
151
151
149
148
149
148
147
145
143
140
138
135
132
130
127
125
122
119
116
114
111
110
110
104
102
111
107
101
109
111
112
112
114
121
123
121
125
130
131
134
138
140
142
146
149
150
152
152
153
152
151
150
150
149
146
144
141
137
134
132
129
127
123
121
117
115
111
110
107
106
106
105
105
104
105
106
108
110
112
115
118
121
123
127
130
133
136
139
142
144
146
148
150
151
152
152
152
151
150
149
148
146
144
140
136
134
131
129
126
123
119
116
113
111
110
108
107
106
105
105
106
107
109
110
113
114
117
119
121
124
127
130
133
136
139
142
144
146
148
149
151
151
152
152
151
149
148
146
144
142
139
137
134
131
128
126
123
120
115
113
111
110
109
107
106
104
104
105
107
107
109
111
115
117
119
122
125
128
131
135
137
140
143
145
147
148
150
152
153
152
152
151
150
148
146
144
141
139
135
133
128
127
124
121
118
115
112
110
109
108
107
106
104
104
105
107
109
111
112
114
116
119
122
126
129
132
135
138
141
144
146
148
150
151
152
152
152
151
150
148
146
145
142
140
137
134
131
128
126
123
120
118
115
113
111
109
108
108
107
107
107
107
108
111
112
114
115
117
120
124
127
130
133
135
138
140
143
145
147
149
150
150
150
149
149
149
147
146
145
143
140
138
134
131
128
126
123
120
118
115
113
111
108
107
106
105
105
105
106
108
109
111
114
117
119
122
125
128
132
134
137
139
141
144
148
150
152
152
152
152
151
151
150
149
147
145
141
138
135
132
129
126
123
120
117
114
111
109
108
106
106
105
105
105
106
107
109
111
113
116
118
121
124
127
130
133
137
139
142
144
147
148
150
151
151
151
150
150
149
149
147
145
142
139
136
133
131
128
126
123
120
117
115
112
111
109
108
108
106
105
106
109
108
110
111
113
116
118
121
124
127
129
133
136
139
141
144
147
148
148
150
152
151
150
151
150
149
149
146
143
139
136
134
131
128
126
123
118
115
111
110
109
107
106
105
105
104
105
106
108
110
112
114
116
119
122
126
127
131
134
138
141
144
146
148
150
152
152
153
153
152
151
149
148
146
144
141
138
136
132
129
127
125
121
117
113
112
110
110
108
107
105
104
105
105
107
109
111
113
115
117
120
123
127
129
132
135
138
141
143
145
147
149
150
151
152
151
152
150
149
147
146
143
141
138
135
132
129
127
124
121
118
115
113
111
110
109
108
105
105
105
106
108
110
111
112
115
117
120
123
127
129
133
135
138
141
143
146
148
150
151
152
152
152
151
150
148
146
145
143
141
137
134
131
129
125
123
120
116
114
111
110
107
107
106
106
105
106
107
109
111
112
114
116
119
122
126
128
132
134
136
138
141
144
146
148
150
151
150
151
150
149
149
148
146
144
142
139
136
133
130
127
124
121
118
116
113
111
109
108
107
106
106
106
107
108
109
111
113
115
118
120
124
126
129
132
135
138
140
143
146
148
150
150
151
150
150
150
149
148
147
144
143
139
137
134
131
129
126
123
120
117
114
112
110
109
107
105
105
106
107
107
108
110
112
114
116
119
122
124
127
130
133
136
139
142
144
146
149
151
152
152
151
150
151
150
150
147
144
141
139
136
132
129
127
125
121
118
115
113
110
109
108
107
106
105
106
106
107
108
110
112
114
117
120
123
126
128
131
135
137
140
142
143
147
155
152
147
154
156
150
147
152
152
145
139
141
141
135
131
130
128
124
121
117
112
111
110
108
106
106
105
105
105
106
109
112
110
109
112
122
119
118
128
130
131
134
140
145
144
144
149
152
150
151
153
152
151
152
149
147
145
143
141
138
134
131
129
127
124
120
116
113
112
111
109
107
106
105
104
105
105
107
109
111
113
115
118
122
125
127
131
133
137
139
142
143
145
145
149
155
148
148
154
153
147
147
147
147
141
136
137
136
130
127
126
122
119
118
114
111
110
110
108
107
105
105
106
109
110
111
112
113
115
118
121
125
128
130
135
135
134
144
148
142
148
153
152
153
149
153
155
149
146
147
145
141
140
137
132
130
129
125
121
118
116
114
111
108
107
107
105
105
106
106
107
109
111
112
114
116
120
123
127
130
133
135
137
139
142
145
148
149
150
151
151
150
150
149
148
147
146
143
141
138
135
132
129
126
123
120
118
115
113
111
108
107
106
105
105
106
107
108
110
111
114
116
119
121
125
127
131
134
136
138
140
144
146
149
150
151
151
151
150
150
149
148
147
144
142
138
136
133
131
127
125
122
119
116
113
111
109
108
107
106
105
106
106
107
108
110
112
114
118
120
123
126
128
132
135
138
141
144
145
148
149
152
152
151
150
151
151
150
149
146
144
140
137
134
132
129
127
124
120
117
114
112
110
109
107
107
106
106
106
106
108
109
111
113
116
118
121
124
127
129
133
135
138
141
143
145
147
149
150
151
152
152
151
150
150
148
146
143
139
136
134
132
129
127
123
120
116
114
111
110
108
107
106
105
105
106
107
108
110
111
114
115
118
121
124
127
130
133
136
139
142
144
146
148
149
151
151
152
151
151
150
148
147
144
142
140
137
134
131
129
126
122
118
115
113
112
110
109
107
106
105
105
105
106
108
110
111
113
116
118
122
125
129
131
134
137
140
144
145
147
148
150
151
152
152
151
150
150
148
146
144
141
139
136
133
129
127
124
121
119
116
114
111
110
108
107
106
105
106
106
108
109
111
112
114
116
119
122
125
128
131
134
137
140
143
146
148
149
150
152
152
151
151
149
149
147
145
143
141
138
134
132
130
127
124
120
117
115
111
110
108
106
106
106
106
106
106
108
111
112
113
115
118
121
124
127
130
133
135
138
141
144
146
148
150
150
152
152
151
149
149
147
146
145
142
139
136
133
130
127
124
122
119
117
114
111
110
108
107
106
106
106
107
108
109
110
112
115
117
120
123
127
129
133
135
137
139
141
145
147
149
150
151
150
149
149
149
148
147
145
143
140
137
135
132
130
127
125
122
119
116
113
111
109
108
107
106
106
107
106
108
108
110
112
115
118
120
123
126
129
132
135
138
141
143
145
147
150
151
151
150
150
151
151
150
148
146
144
140
137
134
132
129
127
123
120
116
114
111
109
108
106
106
105
106
105
106
108
109
111
113
116
119
121
124
127
130
134
137
140
143
145
147
149
151
152
153
152
152
151
150
149
147
144
141
137
134
133
130
127
125
121
117
114
112
110
109
108
106
105
105
105
107
108
110
111
113
116
118
121
123
126
128
131
134
137
140
142
145
147
148
150
151
151
151
151
150
149
147
146
143
141
138
136
133
131
128
125
122
117
115
113
112
110
108
106
104
103
103
105
106
108
110
112
114
117
120
123
126
129
132
135
138
140
143
145
148
149
151
152
152
153
152
151
150
148
146
144
141
137
134
131
127
125
123
120
117
115
112
110
109
108
106
105
104
105
107
108
110
111
113
115
117
120
124
127
130
133
136
138
141
144
146
148
150
151
152
151
151
150
149
148
146
145
142
140
137
134
131
127
126
123
120
117
114
112
110
108
107
106
106
106
107
108
109
111
112
114
115
118
121
125
128
131
134
135
139
140
141
152
153
146
151
156
152
147
150
153
149
142
143
145
142
134
133
131
127
124
121
117
114
113
110
108
107
106
105
105
106
107
108
111
109
107
115
121
116
120
129
130
132
135
139
144
143
144
151
152
149
151
152
150
150
151
149
147
145
144
141
137
133
131
129
126
123
120
116
114
112
110
108
107
106
106
106
107
107
108
110
111
114
116
119
122
125
127
130
133
135
138
141
144
146
150
151
150
150
150
151
151
150
148
147
144
141
138
135
133
130
127
125
121
116
120
116
107
110
112
107
105
106
108
107
103
106
112
114
113
117
121
123
127
129
130
134
137
140
142
145
146
149
150
151
152
153
152
151
150
149
146
144
141
139
136
129
127
131
122
116
119
114
113
109
107
112
107
103
105
107
105
106
109
110
112
116
119
121
124
127
131
134
135
139
142
144
145
148
150
151
151
152
152
152
151
149
148
146
144
141
138
135
132
129
127
123
119
115
114
112
111
109
107
106
104
104
104
105
107
109
111
113
115
117
121
124
127
130
133
136
139
142
144
146
148
150
150
152
152
152
151
151
149
148
146
143
140
137
135
131
128
125
123
120
117
115
112
111
109
108
106
104
104
105
107
109
110
111
113
115
118
121
125
127
131
134
136
139
142
144
147
149
150
151
151
151
151
150
149
148
146
144
142
139
136
133
130
127
124
121
118
115
112
110
108
107
106
106
106
107
108
109
111
113
115
115
118
121
125
127
130
132
134
136
139
142
144
147
148
149
150
151
151
150
150
149
147
145
143
140
137
134
131
128
127
124
122
119
116
114
112
110
108
107
106
106
106
106
107
108
110
112
115
117
121
124
127
131
133
136
137
141
144
147
148
150
150
151
150
150
150
150
149
147
145
142
140
137
134
131
128
126
123
120
116
114
111
110
107
106
106
105
105
105
107
108
110
112
114
117
119
123
126
128
131
135
138
141
144
146
148
150
151
151
150
150
151
150
150
148
146
143
140
137
134
131
129
127
124
121
117
115
113
111
109
108
107
107
106
106
107
108
109
111
113
115
118
121
123
127
129
132
135
138
141
143
145
146
149
152
152
153
152
151
151
149
149
147
142
140
138
136
133
129
126
123
118
116
114
111
109
107
106
105
104
105
106
106
108
109
111
113
115
118
122
124
127
130
133
136
139
142
145
146
149
150
152
152
152
151
150
149
147
146
144
143
140
137
134
132
129
126
122
118
115
113
112
110
108
106
105
103
104
106
107
108
108
111
114
117
119
122
125
128
131
134
137
139
142
144
146
148
149
151
152
152
152
151
150
148
146
144
142
139
136
133
130
127
125
122
120
115
112
111
110
109
107
104
104
105
106
108
109
110
111
114
116
119
122
125
128
131
134
137
140
143
146
148
150
151
152
152
152
152
150
149
148
146
143
141
138
135
132
129
127
123
121
118
115
112
110
109
107
106
106
106
106
107
109
110
112
113
114
117
121
125
127
130
133
135
138
140
144
145
148
149
150
151
151
152
150
150
148
147
145
142
140
136
133
130
127
125
123
119
117
114
111
110
108
107
106
106
106
106
107
108
110
112
114
116
119
123
126
129
132
134
137
138
142
145
147
149
149
150
150
150
150
150
149
148
146
143
141
138
135
133
130
127
125
121
119
115
113
111
109
108
107
106
105
106
106
108
109
111
113
115
118
120
123
126
129
132
135
138
141
144
146
149
150
151
151
150
150
151
151
150
148
145
142
139
137
134
131
128
127
123
120
117
115
113
111
109
108
106
105
105
105
106
107
108
111
113
116
118
121
124
127
129
133
136
139
142
144
146
148
150
150
152
151
152
152
151
150
149
146
141
139
137
135
132
129
126
122
119
116
113
111
109
107
106
105
104
104
105
107
108
110
111
114
116
119
120
122
129
136
133
133
144
145
141
145
152
152
148
148
155
156
151
150
150
148
145
143
139
134
132
130
127
123
119
116
115
114
111
111
111
106
100
101
108
103
101
110
111
111
113
118
123
124
125
130
135
134
138
142
143
145
148
150
150
151
152
153
152
150
148
147
145
143
141
137
135
132
129
126
123
120
117
115
113
111
109
108
106
104
104
106
107
109
110
111
113
115
117
120
123
127
129
132
135
137
141
143
146
148
149
150
151
152
151
150
149
148
147
145
143
140
138
135
132
128
126
123
120
117
114
112
110
109
107
107
106
107
107
108
110
111
112
113
114
118
121
124
132
132
129
137
142
140
142
146
150
150
147
148
153
152
149
150
148
146
145
141
137
134
132
128
127
124
121
119
116
113
111
110
108
107
106
106
105
106
108
110
111
108
114
123
118
121
128
131
133
132
136
144
144
143
148
150
149
151
150
149
149
152
150
147
144
143
142
139
135
132
129
126
123
121
117
114
112
111
108
108
107
106
106
106
107
107
109
110
112
114
117
121
125
127
129
132
136
139
142
144
146
149
150
150
150
150
151
151
151
149
147
144
142
138
136
133
130
128
125
122
119
116
114
112
110
109
107
107
106
106
107
107
109
110
113
115
117
120
123
126
129
131
135
138
140
143
145
146
148
150
150
151
151
151
151
150
149
146
143
140
137
135
133
130
127
123
120
117
114
112
110
109
107
106
105
104
105
106
108
109
111
113
115
117
120
123
126
128
132
135
138
141
144
146
148
150
151
152
152
153
152
151
150
148
146
144
140
138
135
132
129
127
122
119
116
114
112
111
108
107
105
104
104
104
106
108
109
111
113
115
118
121
124
127
130
133
136
139
141
143
146
147
149
150
151
152
152
151
150
148
147
145
142
140
137
134
131
129
126
123
120
117
115
113
111
109
107
105
105
105
107
107
108
109
111
113
115
118
121
125
127
130
133
136
139
142
145
147
149
150
151
152
152
151
150
149
147
146
144
142
139
135
132
129
127
124
121
118
116
113
111
109
108
106
107
106
106
107
108
110
111
113
114
117
120
123
127
129
131
134
137
139
143
145
148
148
149
151
151
150
150
151
149
147
145
143
140
138
135
132
129
127
124
121
118
115
114
111
109
108
106
106
107
107
108
109
110
112
114
116
118
122
125
128
130
133
135
138
140
143
146
148
149
149
150
150
150
150
149
148
146
144
141
139
137
134
132
129
126
123
119
116
114
112
110
109
108
107
107
107
107
108
109
111
112
114
116
119
121
125
127
130
134
137
140
143
145
148
150
150
150
150
151
152
152
150
148
146
143
140
138
135
133
130
127
124
121
117
115
113
111
109
107
106
105
105
105
105
107
109
111
113
115
118
121
124
127
130
132
135
139
141
143
145
147
149
150
151
152
152
152
152
151
149
145
143
139
137
135
132
129
126
123
119
115
113
111
110
108
107
106
105
105
106
107
108
110
112
114
116
118
121
123
127
129
133
136
139
142
144
146
148
151
152
152
151
151
151
151
149
146
145
142
140
137
134
132
129
126
122
119
116
115
112
111
108
107
105
104
104
105
106
108
109
111
113
115
118
122
126
128
131
134
137
141
142
144
146
148
150
151
152
152
151
151
150
148
147
144
142
139
136
133
130
127
124
121
118
116
113
112
110
108
106
105
105
106
107
108
110
110
112
114
117
120
123
126
128
131
133
137
140
143
145
148
149
150
151
151
151
150
149
148
147
145
143
140
138
135
132
129
127
124
121
118
115
113
111
109
108
106
106
106
106
107
109
110
111
112
114
118
121
125
127
129
132
135
136
140
143
145
148
149
150
150
151
151
151
150
149
147
145
142
140
136
133
131
127
125
122
119
117
114
111
110
108
107
106
106
106
106
106
108
109
108
117
123
118
121
129
132
127
132
138
140
138
141
149
151
148
148
151
151
150
150
148
146
145
143
140
138
135
132
130
127
125
123
122
116
108
108
113
106
101
108
108
105
105
108
113
112
111
115
120
119
122
127
127
131
136
140
141
144
147
151
152
151
150
151
152
152
151
149
148
145
143
139
137
134
131
129
126
123
119
116
114
111
110
108
107
106
105
105
105
106
107
108
111
113
116
119
121
125
127
130
133
136
139
141
144
146
148
149
151
152
152
152
152
151
150
147
144
141
138
137
134
131
127
125
121
118
116
114
111
109
108
106
106
105
105
105
107
108
110
112
114
117
119
122
125
128
131
134
138
140
143
145
147
149
150
151
151
151
152
150
149
146
145
148
141
136
139
136
130
127
124
122
117
111
113
114
110
106
106
105
104
105
106
106
108
109
111
113
116
119
123
127
129
133
135
138
141
143
146
147
149
151
154
153
148
154
155
146
147
147
145
143
135
136
136
128
125
123
119
115
115
113
110
108
108
105
104
104
106
108
109
109
110
113
114
117
120
124
126
129
133
135
139
142
145
148
150
151
152
152
151
151
149
149
148
146
144
142
139
137
133
130
127
125
123
119
117
114
112
109
108
107
106
106
106
107
108
110
111
112
113
117
120
124
127
128
131
133
135
138
141
144
146
148
149
150
150
151
150
151
150
148
146
144
142
139
136
133
130
127
125
122
121
118
115
111
109
108
108
107
106
105
106
107
109
110
111
114
117
120
123
126
129
131
134
136
140
143
146
148
149
149
150
151
151
151
150
150
148
147
144
140
137
135
133
129
127
124
120
117
114
112
110
108
107
106
105
105
106
106
108
109
111
113
116
118
122
124
127
129
133
136
139
142
145
147
150
151
150
150
150
152
151
150
148
146
143
141
138
136
133
130
127
125
122
119
117
114
112
110
108
108
106
106
106
106
107
108
110
112
115
117
120
122
126
127
131
133
136
139
141
144
146
148
150
151
152
152
152
152
151
150
146
144
141
139
137
134
131
127
124
119
118
115
113
111
108
106
105
103
104
105
105
107
109
111
113
114
118
121
123
126
129
132
135
138
142
144
146
148
150
152
152
153
152
152
150
149
148
145
143
140
138
135
133
130
127
123
119
117
115
113
111
108
106
105
104
104
105
107
108
109
111
112
115
118
121
124
127
130
133
135
138
141
143
145
147
149
150
152
152
152
151
150
149
147
145
143
140
137
135
132
129
126
123
120
117
115
112
111
109
107
105
105
106
106
107
108
109
110
112
115
118
121
124
127
129
132
135
139
142
145
146
148
150
151
152
152
151
151
150
149
147
145
143
140
137
134
131
128
126
123
119
117
114
111
109
107
106
105
105
105
106
108
109
110
111
113
117
120
123
126
128
131
133
137
139
143
145
148
149
150
152
151
152
151
151
150
148
146
143
140
137
134
131
128
125
123
120
118
115
113
111
109
108
107
106
106
107
107
108
110
111
114
116
119
122
125
128
131
132
135
137
141
144
146
148
148
149
149
150
150
150
149
148
146
144
141
139
137
134
132
128
127
123
120
117
114
111
110
108
107
106
106
105
106
107
108
110
112
114
117
119
122
124
128
130
134
137
140
143
145
148
150
150
150
151
151
153
152
150
148
146
144
141
138
135
132
129
127
123
121
117
115
113
111
110
109
108
106
106
106
107
107
109
111
113
115
118
121
123
127
129
132
135
138
141
144
145
147
149
150
152
152
152
151
151
149
148
144
141
139
137
135
132
129
126
123
120
117
115
112
111
109
107
106
105
105
105
106
108
109
110
113
115
118
120
124
127
130
132
135
138
142
144
145
147
149
151
152
152
152
152
151
150
148
146
144
141
138
135
133
129
125
122
118
116
115
112
109
107
105
103
101
103
111
108
102
111
116
111
112
119
125
123
124
131
138
138
138
143
146
147
149
151
150
152
152
152
150
150
148
146
144
142
140
137
135
127
121
127
123
113
115
117
112
109
108
109
108
103
105
110
107
106
111
111
112
116
121
123
126
128
132
135
137
139
142
145
147
149
149
150
150
151
151
150
149
148
147
144
142
139
136
133
130
127
124
121
118
115
112
111
108
107
105
105
105
106
107
108
109
110
111
114
117
121
124
126
129
131
134
137
140
143
146
148
150
151
151
152
152
151
151
149
148
145
143
140
137
134
131
128
125
123
120
117
114
112
110
109
107
106
106
106
106
107
109
110
112
114
117
120
123
126
128
130
132
135
139
142
145
147
148
148
149
149
150
150
150
149
148
145
143
141
139
136
133
131
127
125
121
119
116
114
111
110
108
106
105
106
111
106
104
112
113
111
113
118
122
122
122
128
134
134
137
142
144
146
150
149
148
149
150
151
152
150
148
147
145
141
139
137
134
132
129
126
122
120
117
116
112
105
109
111
102
102
107
106
108
105
109
116
114
114
119
122
123
127
131
132
135
140
143
144
146
148
151
152
152
152
152
151
150
150
147
144
141
140
137
135
132
128
125
121
118
116
113
111
109
107
106
105
105
105
106
107
108
110
111
114
116
119
121
125
127
130
134
137
140
143
145
147
149
150
150
151
151
150
150
149
148
146
144
142
140
137
134
132
127
124
121
118
117
115
112
109
107
106
104
104
105
106
107
108
110
112
114
116
119
123
126
128
131
134
137
139
142
144
146
148
150
151
152
152
152
151
149
148
145
144
141
139
135
132
129
127
124
121
118
115
114
112
110
107
105
105
105
106
107
107
108
110
111
114
117
120
124
126
129
132
135
137
141
144
147
148
150
151
151
152
152
151
150
149
147
145
143
140
137
134
131
128
126
123
120
116
114
112
110
108
107
106
106
106
107
108
110
110
111
113
115
120
123
125
127
130
133
135
139
141
144
146
148
149
151
151
150
151
152
150
148
146
143
142
137
134
132
130
127
125
123
120
116
115
113
110
108
107
106
105
105
106
106
108
110
112
115
118
122
124
127
129
132
134
137
141
143
146
148
150
149
149
149
150
150
150
149
146
145
143
140
137
135
132
129
127
123
121
117
114
112
110
108
108
107
107
107
107
108
109
110
111
114
116
118
121
124
127
129
132
135
138
141
144
147
149
149
150
150
152
152
151
151
148
146
143
141
139
136
134
131
128
125
122
119
116
114
112
110
108
107
106
105
105
105
106
108
109
111
114
116
119
122
126
128
132
134
137
140
143
145
147
149
150
151
152
152
152
152
151
149
145
143
141
139
137
133
130
127
124
120
118
115
113
111
109
107
105
105
104
106
106
108
109
111
113
116
118
120
123
126
129
132
135
138
141
143
145
147
149
150
151
152
151
151
150
149
147
146
144
141
139
136
134
130
127
123
120
118
116
114
111
108
107
105
104
104
105
106
107
109
110
112
114
117
121
124
127
129
133
135
138
141
144
146
148
150
151
152
152
152
152
151
149
148
145
143
140
137
134
131
128
125
123
120
117
115
113
111
108
106
105
105
105
107
107
108
109
111
113
115
118
121
125
127
130
133
136
139
142
145
147
148
151
151
151
151
151
151
150
149
146
145
142
139
137
134
131
127
125
121
119
116
114
111
110
108
107
106
106
106
106
108
109
109
110
114
117
121
124
126
128
131
133
136
139
142
145
147
149
149
150
151
151
151
150
150
148
146
144
141
138
135
132
129
127
124
121
117
115
113
111
109
108
107
106
106
106
106
108
110
111
113
116
119
122
125
127
129
132
135
138
142
145
146
148
148
149
150
149
150
150
149
148
146
144
142
139
137
134
132
128
126
123
120
116
111
115
116
108
104
111
110
102
105
109
111
106
108
116
120
119
121
126
128
131
134
136
138
142
145
147
147
148
149
150
152
152
153
152
149
140
139
145
138
130
134
133
127
123
121
122
117
111
111
112
107
105
107
105
105
107
109
109
111
113
117
120
121
123
126
129
131
135
137
140
142
145
147
149
150
152
152
153
152
151
149
146
144
141
140
138
135
131
128
126
122
119
116
114
112
111
108
106
105
104
106
106
107
107
108
110
113
115
117
120
123
127
130
133
136
139
142
144
146
148
150
150
152
152
153
152
151
150
148
146
144
141
139
136
133
129
126
123
120
117
114
112
110
108
106
104
103
103
105
105
106
107
110
112
115
118
121
125
127
130
133
136
139
141
144
146
148
149
151
151
152
152
152
150
149
147
145
143
140
137
133
131
127
125
122
119
116
114
112
109
106
105
105
106
107
107
108
108
109
111
113
116
118
122
125
127
131
133
137
140
144
146
148
150
151
151
152
151
150
150
149
146
143
145
143
134
133
135
129
125
122
121
119
112
109
111
111
106
106
107
106
108
109
108
108
110
111
115
119
121
124
127
129
131
134
137
140
143
146
147
149
151
153
152
146
149
155
147
143
146
144
141
136
134
136
130
124
124
121
116
115
113
110
108
108
107
106
106
106
108
109
110
111
114
116
119
123
126
127
129
132
135
139
142
144
146
147
148
149
149
150
150
150
149
147
145
143
141
139
136
134
130
127
124
122
118
115
112
111
109
108
107
106
106
106
107
107
109
110
112
114
117
120
123
126
128
132
135
138
141
144
147
149
149
150
151
152
153
152
151
148
147
144
142
139
137
134
132
128
125
122
119
117
115
113
111
109
108
106
105
105
105
106
107
109
111
113
116
118
121
124
127
130
132
135
138
141
144
146
148
150
150
152
152
153
152
151
149
146
144
143
141
139
135
132
128
125
122
119
116
114
112
110
108
106
105
105
105
106
107
108
110
111
114
116
117
121
125
127
131
133
136
139
142
144
147
148
150
151
153
153
152
151
151
149
146
144
143
140
137
135
131
127
124
121
120
117
114
111
109
107
105
104
104
104
105
106
107
109
111
114
116
121
123
127
129
132
134
137
140
143
145
148
150
151
152
153
153
152
152
150
148
147
144
141
138
135
132
129
126
124
121
118
116
113
111
108
106
105
105
106
106
106
107
108
110
112
114
117
120
124
126
129
131
135
139
141
145
146
148
149
150
151
151
152
151
150
149
147
144
143
140
138
134
132
129
127
123
120
118
115
112
110
109
107
107
105
107
108
109
108
108
110
113
117
119
122
124
127
129
132
134
137
141
144
146
148
149
150
152
152
152
151
150
149
147
145
142
139
136
133
130
127
125
123
120
116
113
111
110
108
107
105
105
105
106
107
109
111
112
115
118
121
124
127
128
130
133
137
141
143
145
146
148
149
150
150
151
151
150
149
147
145
143
141
138
136
133
130
127
124
121
118
115
113
111
109
108
107
106
105
106
106
108
109
111
113
116
118
121
124
127
130
133
136
139
142
144
147
147
148
148
150
151
151
151
150
148
146
144
141
139
136
134
131
127
125
122
119
117
115
113
111
109
108
107
106
106
107
108
109
111
112
114
117
119
122
124
127
129
132
134
138
141
144
146
148
150
151
152
152
153
152
150
148
145
144
142
140
137
134
130
127
124
122
119
116
114
112
110
107
105
104
105
105
106
107
108
110
111
114
116
120
122
126
129
132
135
138
140
143
146
147
149
150
152
152
152
152
151
150
148
146
144
142
139
137
133
129
126
122
120
118
116
113
110
107
106
105
105
105
105
106
107
108
110
112
115
118
121
124
127
130
133
136
138
140
143
145
147
149
150
152
152
152
152
151
149
148
145
143
140
137
133
130
127
124
128
123
114
118
118
110
104
107
108
104
101
105
110
109
106
111
114
115
119
121
123
126
129
132
135
139
142
144
146
149
150
151
153
149
144
152
153
144
144
147
143
138
137
137
135
127
124
125
120
114
113
112
108
108
109
107
106
108
109
110
109
108
111
114
117
120
123
125
127
130
134
136
139
143
145
147
148
149
150
151
151
151
151
149
147
145
143
140
137
134
132
128
126
123
121
118
116
113
111
110
108
107
106
106
106
107
108
110
111
114
116
119
122
124
127
128
131
135
138
141
144
145
147
148
149
150
150
152
151
150
148
147
145
143
141
138
136
132
129
126
123
120
116
114
112
110
108
108
106
106
106
106
107
108
110
111
113
116
119
122
124
127
130
133
137
140
143
146
147
148
148
150
151
152
152
150
149
147
145
143
140
138
136
133
130
127
124
121
118
116
114
112
110
109
107
107
106
106
107
108
109
111
113
115
118
120
123
126
129
131
134
137
140
143
144
147
149
152
152
151
152
152
152
149
147
144
143
141
139
135
132
128
125
123
119
118
114
113
110
108
106
106
105
106
106
107
108
108
109
112
119
116
117
127
129
127
130
137
141
141
139
146
150
149
150
153
152
152
152
149
148
147
145
143
141
139
135
132
127
125
123
120
118
115
112
109
107
106
105
106
104
99
108
111
103
108
114
117
120
120
127
132
129
132
137
139
140
145
148
148
150
153
153
152
152
152
152
150
147
145
143
140
136
134
131
127
125
122
119
117
115
112
110
106
106
105
106
105
106
106
107
109
111
113
115
119
122
125
127
130
133
137
140
143
145
147
149
150
151
151
151
152
151
150
149
146
144
142
139
137
133
131
127
125
121
118
115
112
111
108
107
106
106
106
107
107
108
108
109
112
115
119
121
124
126
128
131
134
137
140
144
146
148
149
150
152
152
152
152
151
149
147
145
142
139
136
133
130
127
125
123
120
118
116
113
110
108
108
107
107
106
105
107
108
109
112
114
117
120
124
127
127
130
134
137
140
143
144
145
146
147
148
149
150
151
150
149
148
145
144
141
140
137
134
131
127
124
121
119
116
114
112
111
109
108
107
106
107
107
108
109
111
112
115
117
120
123
126
128
131
134
137
141
143
145
146
147
148
150
152
152
152
150
149
147
145
143
141
138
135
132
129
126
123
121
117
116
113
111
109
107
106
105
105
106
106
107
109
110
112
115
118
121
124
127
129
133
136
139
142
145
147
149
150
151
152
152
153
152
151
147
145
144
142
140
137
134
130
127
125
121
119
117
114
111
109
107
106
105
105
106
107
107
109
110
111
114
116
119
121
125
127
131
134
137
139
142
144
147
149
150
151
152
152
152
151
149
148
147
145
143
140
138
134
130
127
124
122
119
117
113
111
108
107
105
105
105
105
105
106
107
109
111
114
117
120
123
126
128
131
134
137
139
142
145
147
149
150
151
152
152
152
151
150
148
146
144
141
138
135
132
129
127
124
121
118
116
114
111
108
106
106
105
106
106
106
107
108
110
111
115
117
121
123
127
129
131
135
138
141
144
146
148
149
150
151
151
151
151
150
149
147
146
143
140
138
135
132
129
126
122
121
118
115
111
110
109
108
107
106
106
107
108
108
109
110
113
117
119
122
124
127
129
132
134
138
141
144
145
148
149
150
151
151
152
150
149
148
147
144
141
139
136
134
131
128
125
123
120
117
115
112
110
108
107
106
105
105
106
107
109
110
112
114
117
121
124
126
127
130
133
137
140
143
144
146
148
149
150
151
152
151
151
149
147
145
143
141
139
136
133
130
127
124
120
118
115
113
111
109
108
107
106
106
106
107
108
109
111
113
115
118
121
124
126
129
132
136
139
142
144
146
147
148
150
151
152
152
151
149
148
145
143
139
138
143
137
127
128
129
121
116
118
118
111
105
108
111
108
103
105
107
107
108
109
110
112
116
119
122
125
127
130
133
137
140
143
147
145
142
151
154
147
150
156
153
149
147
148
148
141
139
139
134
128
127
124
120
118
118
115
111
109
109
108
107
105
106
107
107
108
110
111
114
116
119
122
125
127
131
134
137
140
142
145
146
148
150
151
151
152
152
151
149
147
145
143
142
139
137
133
129
126
124
122
119
117
113
111
108
107
106
105
105
105
106
106
107
109
112
114
118
121
124
127
129
133
135
138
140
143
145
148
150
151
152
152
153
152
152
150
149
146
144
141
138
135
132
128
125
123
120
118
115
112
109
107
105
105
106
106
106
106
107
108
110
112
115
118
122
124
127
129
132
136
139
143
144
147
148
150
151
151
151
151
151
150
149
147
144
142
139
136
134
131
127
126
122
120
117
115
112
111
109
108
107
107
108
108
108
108
109
111
115
118
120
122
124
127
129
132
135
139
142
144
146
148
149
150
151
151
151
150
149
147
146
144
141
139
136
133
130
127
125
122
119
116
114
111
110
108
107
106
106
105
106
107
109
110
112
116
118
122
124
127
128
131
135
139
142
143
145
147
149
149
151
151
152
151
150
148
146
145
141
139
142
138
128
130
129
123
118
116
115
113
107
106
109
108
106
106
107
107
109
110
110
113
115
118
121
125
127
130
134
137
140
144
146
146
147
148
151
152
153
153
152
144
144
150
142
137
139
137
134
128
126
127
124
117
117
115
111
109
109
106
105
107
107
107
108
110
112
115
116
118
120
124
126
129
131
133
137
141
143
145
146
148
150
151
152
152
152
150
148
146
144
144
141
138
135
132
128
126
122
119
117
115
113
110
108
106
105
106
107
107
107
108
109
111
113
115
117
120
124
127
130
133
136
139
141
144
146
148
150
151
152
152
152
151
150
148
146
146
144
141
139
134
132
127
124
123
121
117
115
112
110
108
106
105
105
105
105
107
107
108
110
113
116
118
122
125
127
130
133
135
138
141
144
146
148
149
150
151
152
152
152
151
150
148
145
143
140
137
134
131
127
125
123
121
118
115
112
109
107
107
107
106
106
106
106
107
109
111
113
116
119
122
125
127
130
134
137
140
143
145
147
148
149
150
151
151
152
151
150
148
146
144
142
139
136
133
130
127
124
121
118
116
113
111
109
107
107
106
107
107
107
107
108
110
113
115
119
121
124
126
128
131
134
138
141
144
145
147
148
149
150
151
152
152
151
149
148
145
143
140
137
135
132
128
126
123
120
118
115
113
110
109
107
106
105
105
106
107
108
110
112
114
117
120
122
124
126
129
132
136
140
142
144
146
148
149
150
151
152
152
151
149
147
145
143
141
138
136
133
130
127
124
121
119
116
113
111
110
108
107
106
105
106
106
107
108
110
112
116
118
121
124
127
129
132
135
139
142
144
146
147
147
149
151
152
151
150
149
148
146
144
142
140
138
135
132
128
126
123
120
118
116
113
111
110
108
107
107
107
107
107
109
110
111
113
116
118
121
123
127
129
132
134
138
140
143
145
147
149
150
152
152
153
152
150
148
147
145
144
141
138
135
131
128
125
123
120
117
115
112
110
107
106
105
105
105
106
106
107
108
110
112
115
118
121
125
127
131
134
137
140
143
145
148
150
151
152
152
152
152
151
150
149
147
144
143
140
137
134
130
126
124
122
119
116
112
110
108
106
105
105
105
105
106
107
108
110
112
115
118
120
124
126
129
131
134
137
140
142
145
147
149
151
151
152
152
152
151
149
148
145
144
141
138
135
133
130
127
125
122
120
118
114
111
108
107
107
107
106
105
106
107
107
109
111
114
117
120
122
125
127
131
134
137
141
143
145
147
149
149
151
150
148
153
157
149
145
151
149
139
136
138
134
127
122
124
124
117
114
113
111
109
108
106
104
105
106
106
106
108
110
114
117
119
123
127
127
124
128
139
137
135
145
148
147
147
150
155
154
150
152
152
147
145
145
142
138
137
135
131
128
126
124
122
118
114
112
110
108
107
106
105
106
107
107
108
110
112
115
118
120
123
125
127
130
133
138
140
142
144
146
147
148
149
150
151
151
150
148
146
144
144
141
139
136
132
130
127
124
120
118
115
113
111
110
108
107
107
106
107
107
108
110
111
113
115
118
121
124
127
129
132
135
139
142
144
145
147
148
150
152
152
151
151
149
148
146
144
142
139
137
134
130
127
125
122
120
117
115
112
109
108
106
106
105
105
106
107
108
110
112
114
117
119
122
125
127
130
133
136
139
142
144
147
148
150
151
152
153
152
151
148
147
145
144
142
140
136
133
130
127
124
121
119
116
114
111
109
107
107
106
106
107
107
108
109
110
111
114
116
120
122
125
128
131
134
137
141
142
145
147
149
150
150
152
152
152
150
149
148
146
144
142
140
136
132
128
127
124
122
119
116
112
110
107
106
104
104
104
105
106
106
108
109
112
115
118
121
124
127
130
133
135
138
141
144
146
148
149
151
152
152
153
152
151
149
148
145
143
140
137
135
132
129
127
124
121
119
115
113
109
107
107
107
106
105
105
105
106
107
109
111
114
116
118
127
127
125
133
140
139
141
144
149
149
146
148
153
152
150
152
150
150
148
147
142
140
138
135
132
128
125
122
119
116
113
111
108
107
106
106
106
108
107
109
109
105
108
120
116
114
123
124
128
128
131
140
142
141
145
148
147
150
152
152
151
153
152
150
148
145
144
142
138
134
132
130
127
124
122
118
115
113
111
108
107
107
106
106
106
107
108
109
111
113
116
119
122
124
126
127
132
134
139
141
143
145
146
147
148
149
150
151
149
149
147
147
144
142
140
138
135
131
130
127
123
120
118
115
113
112
110
108
107
106
106
106
106
109
110
111
113
115
118
121
124
127
130
133
137
140
143
144
146
147
149
150
152
152
152
151
149
147
147
145
143
139
136
133
130
127
124
120
118
116
114
111
109
108
106
106
105
106
106
107
108
110
112
114
117
120
123
126
128
131
134
137
140
142
145
148
149
150
151
153
153
153
150
148
146
146
144
142
139
135
132
129
126
123
120
118
116
112
110
108
107
106
106
106
106
107
108
109
111
112
115
117
121
124
127
129
132
135
138
141
144
146
148
149
150
151
151
152
151
150
149
148
146
144
142
139
135
131
127
126
123
121
118
115
112
109
108
106
105
105
105
106
106
107
109
111
114
116
119
122
125
127
130
132
135
138
141
144
146
148
150
151
152
152
152
152
150
149
147
145
143
140
137
134
131
128
126
123
120
118
115
111
109
107
107
107
106
106
105
106
106
108
110
113
116
119
122
125
127
130
134
137
140
143
145
147
149
151
151
152
152
152
152
150
149
147
145
142
140
136
133
129
127
124
121
118
116
113
111
110
108
107
106
107
106
106
106
107
110
113
115
118
120
123
126
128
131
134
138
141
143
145
147
148
149
151
152
152
151
151
149
147
145
143
140
137
135
132
129
126
123
120
118
115
113
110
108
107
106
106
106
106
107
108
110
112
114
117
120
122
124
127
130
134
137
140
142
144
145
147
148
149
150
151
151
150
148
147
145
144
142
140
137
134
131
127
125
122
119
116
114
112
110
108
107
107
106
106
106
107
109
110
112
115
117
120
123
126
129
132
135
139
142
144
145
146
147
149
151
152
152
151
150
148
146
144
142
140
138
135
132
128
126
123
121
119
116
114
111
109
108
107
106
106
106
107
108
110
111
114
116
118
122
124
127
129
132
135
138
140
143
144
144
150
156
151
148
156
155
146
145
149
148
140
137
139
138
131
127
126
123
119
117
113
109
107
107
106
105
105
106
107
108
109
111
114
115
111
114
125
125
121
130
135
135
137
142
148
149
147
150
153
150
150
152
151
149
150
149
146
144
142
140
135
130
127
125
123
120
117
114
111
108
107
105
105
104
105
105
106
106
108
111
113
116
119
122
125
127
130
133
137
139
142
144
146
148
150
151
152
152
152
152
150
149
146
144
142
139
136
133
130
127
125
122
119
116
113
110
108
107
107
106
105
106
107
107
106
109
111
115
118
121
123
126
129
132
135
138
142
144
146
148
149
150
151
151
151
151
150
149
147
145
143
141
138
135
131
128
126
123
121
117
114
111
110
109
108
107
107
107
106
106
106
108
111
114
115
118
120
123
126
127
132
135
138
141
144
145
147
149
151
152
152
152
152
151
149
147
145
143
140
137
135
131
129
126
123
120
117
114
112
110
108
106
105
106
105
106
107
108
110
112
115
118
120
122
124
127
130
134
137
139
142
144
146
147
148
150
151
152
150
150
148
147
146
144
142
139
137
133
130
127
124
121
118
116
114
112
109
108
107
106
106
106
107
108
108
111
112
115
118
120
124
127
129
133
136
140
142
143
144
146
148
150
152
152
151
151
149
148
146
144
142
140
138
134
131
128
125
123
120
118
115
112
110
108
107
106
105
106
106
107
108
109
111
113
117
119
122
124
127
130
133
137
139
142
144
146
148
150
152
153
153
152
150
149
148
147
145
143
139
137
133
127
129
127
117
119
121
114
108
108
108
108
103
102
108
108
106
108
111
111
115
117
118
121
125
127
130
134
136
140
143
145
147
149
150
151
152
152
152
151
150
149
150
143
137
144
139
127
129
128
126
122
116
119
117
108
107
107
105
104
105
105
105
108
111
110
113
115
118
122
124
126
129
132
135
138
140
143
145
148
149
151
152
152
152
152
151
149
148
145
142
140
137
134
131
129
127
125
121
118
114
111
109
108
108
107
107
105
105
106
107
107
110
113
115
118
121
124
126
129
133
137
139
143
145
146
148
150
151
152
152
152
152
151
150
147
146
143
141
137
134
131
127
125
122
119
117
114
112
110
109
108
107
107
106
106
106
107
110
112
115
117
119
122
124
127
129
133
136
139
142
144
146
148
150
151
152
152
153
151
150
148
146
144
141
139
136
133
129
127
124
121
118
116
114
111
109
108
107
106
106
106
107
107
109
111
114
116
119
121
123
126
129
133
136
139
141
143
144
146
148
149
150
151
151
149
149
147
146
144
143
141
138
135
132
129
126
123
120
118
115
113
111
109
108
107
107
106
107
107
108
110
111
114
116
119
121
124
127
130
133
136
139
142
143
144
147
150
152
151
151
151
151
150
147
145
144
142
139
137
134
131
127
126
123
120
117
115
112
110
108
107
106
105
105
106
107
108
110
112
114
116
120
123
126
127
130
134
137
140
142
144
147
149
152
152
153
153
152
150
150
148
147
144
141
138
135
132
127
126
123
121
118
115
112
109
108
106
106
105
106
106
106
107
108
110
112
115
118
121
124
127
130
133
136
139
141
144
146
147
149
150
152
151
152
151
151
149
148
146
144
142
138
134
130
127
126
123
120
117
115
111
109
107
106
105
105
105
106
106
107
108
111
113
115
119
121
124
127
129
132
135
138
141
144
146
148
149
151
152
152
152
152
150
149
147
145
143
139
137
134
131
128
126
123
121
117
114
111
108
108
107
107
105
105
105
105
106
108
110
113
116
118
121
124
127
130
134
137
141
143
145
147
148
150
150
151
151
152
151
150
149
147
145
142
140
136
133
130
127
124
121
119
116
114
111
110
108
108
107
107
106
106
106
108
111
113
115
117
119
122
125
127
130
133
134
145
147
141
146
153
152
147
152
155
152
146
147
151
148
142
140
139
136
132
129
125
121
120
117
115
112
110
109
108
107
107
107
109
106
100
109
116
111
112
121
122
122
126
132
138
136
136
143
144
143
146
148
148
151
153
152
150
149
148
149
146
143
140
137
134
130
127
125
122
120
117
114
112
110
109
108
107
106
105
106
106
108
109
111
114
116
119
121
125
127
131
134
138
140
142
143
145
148
150
152
151
151
150
150
148
147
145
143
141
138
135
132
129
127
125
122
119
117
114
112
109
108
106
106
106
106
106
108
109
111
113
116
119
121
124
127
129
132
135
138
140
143
145
147
149
151
152
152
152
151
149
148
147
146
144
140
137
134
131
127
125
122
120
117
114
111
109
108
106
106
106
106
106
106
108
109
111
112
116
118
122
125
127
130
133
136
139
142
144
147
148
150
151
152
152
152
152
150
150
148
146
144
141
137
134
130
128
126
123
120
116
114
110
109
107
106
105
105
105
105
105
106
108
111
114
116
119
121
125
127
130
134
136
140
143
145
147
149
150
151
153
152
152
152
151
149
148
145
143
140
138
134
131
128
125
123
120
116
112
109
108
107
106
106
105
105
106
107
108
110
113
115
118
120
123
126
128
132
135
139
141
144
146
148
150
151
152
152
152
151
150
149
148
145
143
140
138
134
131
129
126
123
120
118
115
113
111
109
108
108
107
107
106
106
108
110
112
114
116
118
121
123
126
129
132
135
138
141
143
145
147
149
151
152
152
152
151
149
148
145
144
141
139
137
134
132
129
127
123
121
118
115
113
111
109
108
106
106
106
106
107
108
110
113
115
118
119
121
124
127
128
138
140
134
142
148
146
145
148
152
153
148
148
153
151
147
146
146
143
141
136
131
130
127
124
121
117
115
113
111
109
107
107
106
107
107
107
108
110
111
113
118
115
116
127
127
125
133
137
141
141
141
148
151
148
150
152
151
150
151
148
146
146
147
144
141
138
135
133
130
126
124
121
117
116
113
110
108
107
106
105
106
106
107
108
110
111
113
115
118
121
124
127
129
132
135
139
141
144
146
148
150
152
153
153
152
150
150
148
148
146
143
140
137
133
130
127
124
122
119
116
112
110
108
108
106
106
106
106
107
107
108
109
112
114
117
120
123
126
129
132
134
138
140
144
145
148
149
150
151
152
152
151
151
149
148
146
145
142
139
135
132
129
127
125
121
118
115
112
110
108
106
106
106
105
105
105
106
108
110
113
115
118
121
123
126
129
131
135
137
140
143
145
147
150
151
152
152
153
152
151
150
148
146
144
141
138
135
132
129
127
124
122
118
115
111
109
108
107
106
105
105
104
105
106
107
110
112
115
118
120
123
126
129
133
136
139
142
144
147
148
150
150
151
151
152
151
150
149
147
146
143
140
137
134
131
127
125
123
120
117
115
112
111
109
108
108
107
107
106
107
108
111
112
114
116
118
121
124
127
130
133
136
138
141
143
145
147
149
150
152
152
151
150
149
147
146
144
142
139
136
134
131
128
125
123
119
117
114
112
110
108
107
106
106
106
107
107
109
111
113
116
118
119
122
126
128
132
135
137
140
142
144
146
147
149
151
151
151
150
150
148
147
145
144
141
139
135
132
129
126
123
120
118
115
113
111
109
108
107
106
106
106
106
108
110
111
114
116
119
121
124
127
131
134
138
140
142
143
145
147
149
151
150
151
150
150
148
147
145
144
142
139
136
133
130
127
125
122
120
117
114
111
109
108
107
107
106
107
107
108
109
111
113
115
118
120
123
125
127
130
133
137
140
142
145
147
149
151
152
153
152
151
149
149
148
147
144
141
138
135
132
129
127
124
121
119
116
113
111
108
107
107
106
105
105
106
107
108
109
112
115
117
119
121
125
135
135
131
140
146
143
142
148
153
149
146
151
156
153
149
150
150
147
145
141
135
132
130
128
125
123
120
116
114
111
110
108
110
103
99
107
108
101
105
112
112
113
116
123
126
123
126
132
133
134
139
142
143
146
150
151
151
152
154
154
152
150
148
147
144
142
140
137
134
131
128
126
124
121
117
114
112
110
109
107
106
105
105
105
105
106
108
111
113
115
118
121
124
127
130
133
137
140
143
144
146
148
149
151
152
152
152
152
150
149
147
145
142
140
137
134
130
127
125
122
119
116
113
111
109
107
107
107
107
105
104
106
109
111
112
114
117
120
123
125
128
131
135
138
140
143
144
147
149
151
152
152
152
151
150
149
146
145
143
140
137
134
132
129
127
123
120
117
116
114
111
109
107
106
106
106
106
107
108
110
112
114
116
118
120
123
127
130
133
136
138
140
143
144
147
149
150
152
151
152
150
150
149
148
146
144
141
138
135
131
128
125
122
119
117
114
112
111
108
108
106
106
105
106
107
109
109
110
113
116
119
122
125
127
131
135
139
140
142
144
146
149
151
152
152
152
151
150
148
147
146
143
141
137
134
132
129
127
124
122
119
117
113
110
108
107
106
106
105
106
107
108
110
111
113
115
118
121
124
126
129
132
135
138
141
144
146
148
149
152
152
152
151
150
149
149
148
146
144
140
137
134
131
127
126
123
121
117
114
111
109
109
107
106
105
106
105
107
107
109
111
113
116
119
122
125
127
130
133
136
139
142
144
147
148
150
151
152
152
152
151
150
149
147
146
143
140
136
133
131
128
126
122
119
116
113
111
109
107
107
106
105
105
105
106
107
109
111
114
117
119
122
125
127
130
134
136
139
142
145
146
149
152
153
154
152
152
151
150
148
147
144
142
140
137
135
130
128
126
122
117
115
118
110
106
111
110
103
103
105
107
105
103
109
114
114
116
121
123
125
128
131
133
138
141
143
146
147
148
150
152
152
153
153
152
150
149
147
144
142
139
138
133
124
126
127
116
113
116
113
111
106
108
112
107
103
106
106
106
109
111
112
114
119
121
124
126
129
134
138
139
141
144
146
148
150
152
152
152
152
151
148
148
146
144
142
139
137
134
131
128
126
123
120
117
115
112
110
108
106
106
105
105
106
107
109
111
113
115
118
119
122
125
128
131
133
136
138
141
142
144
146
149
150
150
151
150
150
149
148
147
145
143
140
137
134
131
127
125
122
120
117
114
112
110
109
107
107
106
106
107
108
108
110
112
115
117
120
123
126
128
132
135
138
140
141
144
147
149
150
151
151
151
151
149
148
147
145
143
140
137
134
131
128
126
124
121
118
115
113
111
108
107
106
106
106
106
107
108
110
111
114
116
119
122
125
127
130
133
136
139
142
144
146
149
150
152
152
151
150
150
150
149
147
145
142
139
136
133
130
127
125
122
119
116
113
111
109
108
108
107
106
106
106
107
108
109
112
114
117
119
122
126
127
131
134
137
140
142
144
147
148
150
151
152
152
152
152
150
149
148
146
143
139
135
132
131
128
125
121
118
115
113
109
108
107
106
105
105
105
105
106
108
110
112
115
117
120
123
126
128
132
135
138
141
143
146
148
151
152
152
152
152
153
151
150
147
146
143
141
138
135
132
129
127
124
121
117
114
111
110
109
108
106
105
105
104
105
106
108
110
113
115
117
121
124
127
128
133
136
140
142
144
146
148
149
151
151
152
152
151
151
149
147
145
143
140
137
134
130
128
126
123
120
117
114
113
110
109
108
107
106
105
105
106
108
110
111
114
116
119
121
124
127
130
133
136
138
141
144
146
148
150
152
151
152
152
151
149
148
146
145
142
139
137
133
131
127
125
122
119
116
114
111
109
108
107
106
105
105
106
108
108
108
114
122
119
116
125
129
127
129
136
140
137
137
144
150
148
148
151
153
151
151
149
147
146
146
143
140
138
134
132
128
127
124
123
120
111
108
115
110
102
107
109
107
104
107
111
111
108
112
117
117
120
125
127
130
135
139
141
141
144
148
150
150
150
151
151
151
149
149
147
146
145
142
139
136
133
130
128
125
122
119
116
113
111
109
107
106
105
106
105
106
107
108
110
112
115
117
120
122
126
127
131
134
137
140
143
145
147
149
150
152
152
152
150
150
149
149
147
144
142
139
135
132
129
127
124
122
119
116
113
111
109
108
107
107
106
107
107
107
109
110
111
113
116
119
123
125
128
131
134
137
140
142
145
147
148
150
151
152
151
151
151
150
148
147
145
141
138
135
133
131
127
124
121
118
114
112
109
107
106
105
104
103
103
104
106
108
109
112
115
118
121
123
126
129
132
135
139
141
144
146
149
151
153
154
153
153
153
152
149
148
145
143
140
137
134
130
127
125
123
119
116
112
111
109
108
107
105
105
104
105
106
107
109
111
114
116
119
121
125
127
131
134
138
140
142
144
146
148
149
150
151
151
151
151
149
148
146
144
142
139
136
133
130
127
125
122
119
117
114
112
110
109
108
108
106
105
106
107
109
111
112
114
116
118
121
124
127
130
134
136
139
141
144
146
149
151
152
152
152
151
150
149
147
145
144
141
139
136
133
130
127
124
121
118
116
113
111
108
107
106
105
106
106
107
108
110
112
114
116
117
120
123
127
130
133
135
138
141
143
145
147
149
150
151
151
151
150
149
148
147
145
142
140
137
134
131
127
125
122
121
119
115
112
111
110
109
107
106
106
106
107
108
110
111
114
116
119
122
125
127
131
134
136
138
142
145
147
150
149
151
151
150
150
149
148
148
147
145
141
138
135
134
130
127
124
122
119
116
113
111
108
108
106
106
106
105
106
107
109
111
114
115
118
120
124
127
129
132
135
138
142
143
144
150
154
148
151
155
152
149
149
150
150
143
139
141
139
133
130
128
125
123
120
116
112
111
109
108
108
106
105
106
106
107
108
109
111
113
116
119
122
125
127
133
132
131
141
144
139
145
149
150
151
149
154
156
150
148
150
147
145
144
140
135
134
134
130
127
123
120
118
115
110
109
108
106
105
105
105
105
106
108
110
111
114
116
119
122
124
127
129
132
135
139
142
144
147
149
151
151
152
152
151
150
150
148
146
144
142
140
137
134
131
129
126
123
118
115
113
111
109
108
106
105
105
104
105
105
107
109
112
114
116
119
122
126
128
132
135
138
141
143
145
147
149
150
152
152
152
152
151
150
148
146
143
141
138
135
132
129
127
124
121
118
115
113
111
109
108
107
106
104
105
105
107
109
110
112
115
117
120
122
126
129
132
135
138
140
142
145
148
150
151
152
152
152
152
150
149
147
145
143
140
138
135
132
129
126
123
121
117
115
112
109
108
107
106
106
106
106
107
109
110
112
114
116
117
121
125
128
131
134
136
139
141
143
146
148
150
150
151
150
150
150
149
148
146
144
141
139
136
132
129
127
124
121
119
116
114
111
109
107
107
106
106
107
107
109
109
111
114
116
118
121
124
127
130
133
135
137
139
141
144
147
148
149
150
150
150
149
148
147
146
145
142
140
137
134
132
129
127
124
122
119
117
114
111
110
108
107
106
106
106
107
107
109
111
112
115
118
120
123
126
129
132
135
138
141
144
146
148
150
152
152
152
151
151
152
150
148
146
143
140
136
134
130
127
125
123
119
116
113
111
109
108
107
106
105
104
104
105
107
108
111
113
116
119
122
125
128
132
135
137
140
143
145
147
149
150
151
151
152
152
151
150
149
148
144
142
138
135
133
131
127
124
121
118
116
112
109
107
108
108
105
102
105
113
109
106
113
117
114
114
121
126
124
123
131
138
138
138
143
147
148
150
150
150
150
152
151
149
148
148
146
144
141
139
138
136
127
122
128
122
112
114
115
111
107
108
109
108
102
103
106
106
106
110
112
113
118
122
125
127
131
135
139
140
141
144
146
147
149
151
151
152
152
152
150
150
148
145
144
140
137
133
130
127
125
122
119
116
114
112
110
109
108
106
105
105
105
108
109
110
112
113
116
118
121
124
127
130
133
135
138
141
144
146
148
150
151
152
151
151
150
149
148
146
144
142
140
137
134
131
128
125
123
120
117
115
112
110
108
107
106
106
106
107
108
109
111
112
114
115
118
122
126
127
131
133
136
139
141
143
146
148
150
150
151
151
151
151
150
148
146
144
142
138
135
132
129
126
123
121
117
115
113
111
108
108
106
105
105
106
107
108
109
111
113
116
118
121
125
127
131
134
136
139
141
144
147
149
150
151
152
151
151
150
149
147
146
144
141
138
136
133
130
127
125
122
119
117
113
111
109
108
107
106
106
106
107
108
109
111
113
115
117
120
123
125
127
131
134
137
140
143
145
147
149
150
151
151
150
150
150
149
148
146
143
141
138
135
132
129
127
124
121
119
116
113
111
109
109
107
107
106
107
107
107
108
110
113
115
118
120
123
126
129
131
135
138
140
143
144
147
148
150
150
152
152
151
150
150
149
147
144
140
138
135
133
130
127
123
120
117
114
112
109
108
106
106
105
104
105
106
107
109
111
113
116
118
121
123
127
128
132
136
138
142
144
147
149
151
151
152
152
152
152
151
150
148
146
144
141
138
135
133
130
127
123
119
115
113
111
109
107
105
104
103
103
103
105
106
109
111
113
114
118
122
125
128
130
134
136
139
142
145
147
149
151
153
153
153
153
152
151
149
147
145
142
138
135
133
129
127
125
122
119
116
114
111
110
109
108
105
104
103
105
107
109
110
112
114
117
120
122
126
127
131
134
137
139
142
145
147
149
150
151
151
151
150
150
148
147
145
143
141
138
135
132
129
127
124
121
118
116
112
111
108
106
111
109
102
108
111
110
109
111
115
116
113
116
127
129
129
131
134
137
140
142
142
145
147
149
150
150
149
149
151
149
148
146
143
140
138
134
131
129
126
124
122
114
111
117
110
104
107
107
108
105
104
110
110
107
111
114
115
118
123
125
127
133
136
137
139
142
146
149
150
150
151
152
150
150
150
148
147
146
144
140
138
135
133
130
127
125
122
118
115
113
110
109
107
107
106
106
106
107
108
109
111
113
115
117
120
123
125
127
131
134
137
140
143
146
147
150
151
151
150
150
151
150
149
148
145
143
140
137
135
132
129
127
124
121
118
115
112
111
109
108
107
106
106
105
106
107
109
110
113
115
118
121
123
127
129
133
136
139
141
144
146
148
149
150
151
152
152
151
150
149
148
145
142
139
136
135
131
128
126
122
118
116
113
111
109
107
106
105
105
104
106
107
109
111
113
115
117
120
122
125
127
131
133
137
140
143
145
147
148
150
151
151
152
151
150
149
148
146
144
142
139
136
133
131
128
126
122
118
115
114
112
110
108
106
106
105
105
105
106
108
110
111
113
116
119
123
126
129
132
135
137
140
142
144
146
148
149
151
152
152
152
150
150
148
147
144
142
139
136
133
130
127
124
121
118
116
114
111
110
108
107
105
104
105
106
107
108
110
111
114
116
119
122
125
128
131
134
137
140
143
146
148
150
152
152
152
152
152
150
149
148
146
144
141
139
135
132
129
126
123
121
117
115
112
109
108
107
106
105
105
105
107
109
111
112
113
115
118
122
125
128
130
133
136
139
141
143
146
148
150
150
151
151
151
150
150
148
147
144
142
139
136
133
129
127
124
122
118
115
112
108
114
114
104
106
111
109
103
107
112
111
108
112
120
123
123
126
131
134
135
137
138
140
144
147
148
148
149
149
150
150
149
150
151
144
136
139
141
132
127
132
128
124
120
120
120
113
109
111
110
106
106
107
106
107
110
111
112
114
117
120
122
123
126
129
131
135
137
140
143
146
149
150
151
150
151
151
152
150
148
145
144
141
139
136
133
130
128
126
123
120
117
115
112
111
109
107
107
105
105
105
105
106
108
111
113
116
119
122
125
127
131
134
136
139
142
144
147
148
150
151
152
153
153
152
152
150
148
146
143
140
136
134
131
128
124
121
117
115
112
110
108
107
106
105
104
104
105
107
108
111
112
114
117
120
122
126
128
131
135
138
141
143
146
148
151
151
151
152
153
152
151
150
148
146
144
142
138
135
133
130
127
124
120
117
115
113
111
109
107
106
106
105
105
106
107
109
110
112
114
117
121
124
127
130
134
136
139
141
144
145
147
149
150
151
151
152
151
150
149
147
145
143
140
138
135
132
129
126
123
120
117
115
113
111
110
108
106
104
105
106
107
108
109
111
112
115
117
120
123
127
130
132
135
138
141
144
147
149
150
151
152
152
152
151
150
149
147
145
143
140
137
134
131
127
126
122
120
117
114
111
110
108
107
107
106
106
106
108
109
111
111
113
115
119
123
126
127
130
133
136
139
141
144
145
148
149
150
150
150
151
150
150
148
146
144
142
139
136
133
129
127
124
122
119
116
114
111
110
108
107
106
106
106
107
108
109
111
113
116
119
121
125
127
131
133
134
137
141
144
146
147
149
150
150
150
150
150
149
149
147
145
142
140
137
135
132
129
127
123
120
117
115
112
110
108
107
106
105
106
107
108
109
109
111
114
116
119
122
125
127
130
134
137
140
143
146
147
150
151
150
150
150
152
151
150
148
146
144
141
138
135
132
129
127
124
121
117
115
112
111
109
108
107
106
106
106
106
107
108
110
112
114
117
120
124
127
129
132
135
138
141
143
145
147
149
150
151
151
152
151
151
150
149
146
143
140
138
136
133
130
127
123
120
117
114
112
110
109
107
106
105
105
105
107
108
109
111
112
115
117
120
123
126
129
132
136
139
142
144
146
148
148
150
152
157
152
148
154
152
146
144
144
143
138
131
132
133
127
121
120
116
115
113
109
106
105
104
103
104
103
105
107
110
111
113
115
118
121
125
127
130
134
137
141
141
138
146
153
146
148
153
153
154
149
150
154
148
143
143
140
135
134
131
127
124
124
120
117
114
112
112
110
107
105
106
105
106
108
108
109
111
114
116
119
121
125
128
131
134
136
139
142
145
147
149
150
151
151
151
150
149
148
147
145
143
141
138
135
132
130
127
124
121
118
116
112
111
109
107
106
105
105
107
108
109
110
111
114
116
119
122
125
127
130
133
136
138
140
142
144
146
148
149
150
151
151
151
150
149
147
145
143
139
137
133
130
127
125
122
121
117
114
112
111
110
108
107
106
106
106
107
108
109
111
113
116
118
121
124
127
130
133
135
138
142
145
147
148
150
150
151
151
151
149
149
148
147
144
142
140
137
135
131
129
126
123
119
116
113
111
109
108
106
106
105
105
106
107
108
109
111
114
116
120
122
126
128
131
135
138
141
144
146
148
150
150
151
150
152
152
151
149
147
145
143
141
137
134
131
128
126
123
120
117
115
112
110
108
107
106
105
105
105
106
107
109
111
113
116
119
122
125
127
130
133
136
139
141
144
146
149
150
152
152
152
152
152
151
150
147
144
142
139
137
134
131
127
124
122
119
117
113
111
108
108
106
106
105
105
105
107
108
110
112
113
116
119
122
124
127
130
133
137
140
142
144
147
148
150
151
152
152
152
151
150
149
147
145
143
140
138
134
131
127
121
127
123
113
114
116
110
103
105
109
106
100
102
109
110
108
111
115
117
120
123
125
127
130
134
136
139
142
144
146
150
151
153
156
150
145
151
153
145
142
146
143
138
135
135
134
127
122
123
119
115
113
112
109
107
108
106
106
106
109
109
109
109
111
114
117
119
122
125
127
132
135
138
141
144
146
148
150
151
151
151
151
150
150
149
147
145
143
141
138
135
131
128
126
123
120
118
114
112
110
109
107
107
106
106
107
107
109
110
111
112
115
118
122
125
127
129
132
136
139
141
143
145
147
149
150
152
152
152
151
150
149
147
145
142
140
137
134
130
127
125
122
120
117
115
112
111
108
107
106
106
106
106
107
108
110
112
115
117
120
123
127
129
131
133
136
140
142
145
146
147
148
150
151
150
150
149
148
146
145
143
141
138
136
132
129
127
124
121
118
117
114
111
109
109
107
107
106
107
108
108
110
112
114
115
118
121
124
127
128
132
135
138
140
143
146
148
149
149
149
150
152
151
150
147
146
144
143
139
136
133
130
127
126
123
120
117
114
112
111
109
107
106
105
105
106
107
108
109
111
114
116
119
122
125
127
130
134
137
139
142
144
146
149
151
152
152
152
153
153
152
150
147
144
143
140
138
134
130
127
125
122
119
116
113
110
108
107
105
104
103
104
105
106
108
110
111
113
116
120
123
125
127
130
134
138
141
143
145
148
149
152
152
153
153
153
152
151
149
147
145
142
139
136
134
130
127
123
119
117
115
113
110
108
106
106
104
104
104
104
106
108
110
112
115
118
121
125
127
130
133
136
139
142
144
146
148
149
150
151
151
151
150
150
149
146
145
142
140
137
135
131
128
126
123
120
117
115
115
112
110
107
105
106
106
106
107
107
109
111
114
116
117
120
124
126
129
132
135
138
141
144
146
148
149
151
152
152
152
151
150
149
147
146
143
140
137
134
131
128
126
122
120
116
114
111
110
108
106
106
106
106
107
109
109
110
111
113
117
120
123
125
127
130
133
136
139
141
144
146
148
150
151
151
151
152
150
149
147
145
143
141
138
135
132
129
127
124
121
118
116
114
111
110
108
107
106
106
106
107
108
109
111
113
116
118
121
124
127
129
131
134
137
141
144
145
146
147
149
150
150
150
149
149
148
147
145
143
140
137
135
132
129
126
124
121
118
115
113
110
108
107
107
105
103
109
110
104
109
115
115
114
117
123
126
125
127
134
139
139
142
146
147
150
150
149
149
152
152
151
149
147
145
145
142
139
135
132
129
127
125
121
120
116
115
114
106
103
111
107
100
105
107
109
107
108
116
118
115
119
124
126
129
132
134
136
140
144
145
147
149
151
153
153
152
152
151
149
147
145
143
141
139
136
132
128
126
123
121
117
114
111
109
107
106
105
105
105
105
106
107
108
110
112
115
117
120
123
126
129
132
136
139
142
144
147
148
150
151
151
152
152
152
151
149
147
146
144
141
139
136
133
130
126
122
119
117
115
112
110
107
107
106
105
104
104
105
107
108
110
114
116
118
121
125
127
129
132
135
138
141
144
146
148
149
150
152
152
152
151
150
149
147
145
143
140
137
134
131
128
125
123
120
117
115
113
110
108
106
105
105
105
106
107
107
109
111
